Context
cluster 上设置了容器镜像扫描器,但尚未完全集成到cluster 的配置中。
完成后,容器镜像扫描器应扫描并拒绝易受攻击的镜像的使用。
Task
注意:你必须在 cluster 的 master 节点上完成整个考题,所有服务和文件都已被准备好并放置在该节点上。
给定一个目录 /etc/kubernetes/epconfig中不完整的配置,
以及具有 HTTPS 端点 https://acme.local:8082/image_policy 的功能性容器镜像扫描器:
1. 启用必要的插件来创建镜像策略
2. 校验控制配置并将其更改为隐式拒绝(implicit deny)
3. 编辑配置以正确指向提供的 HTTPS 端点
最后,通过尝试部署易受攻击的资源 /cks/img/web1.yaml 来测试配置是否有效。
你可以在 /var/log/imagepolicy/roadrunner.log 找到容器镜像扫描仪的日志文件。
参考资料
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/admission-controllers/
https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
https://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/audit/
解答
切换集群
kubectl config use-contextKSSH00901
- 切换到master
ssh master01 && sudo -i
- 编辑 admission_configuration.json 修改 defaultAllow 为 false
vim /etc/kubernetes/epconfig/admission_configuration.json ...... "denyTTL": 50, "retryBackoff": 500, "defaultAllow": false # 将 true 改完 false ......
- 编辑 /etc/kubernetes/epconfig/kubeconfig.yml,添加 webhook server 地址:
操作前,先备份文件
mkdir bak14 cp /etc/kubernetes/opconfig/kubeconfig.yml bak14/ vim /etc/kubernetes/opconfig/kubeconfig.yml
修改内容如下:
...... certificate-authority: /etc/kubernetes/epconfig/server.crt server: https://acme.local:8082/image_policy # 添加 webhook server 地址 ......
- 编辑 kube-apiserver.yaml ,从官网中引用 imagePolicyWebhook 的配置信息:
先备份文件
cp /etc/kubernetes/manifests/kube-apiserver.yaml bak14/ vim /etc/kubernetes/manifests/kube-apiserver.yaml
在 command: 下添加如下内容
- --enable-admission-plugins=NodeRestriction,ImagePolicyWebhook - --admission-control-config-file=/etc/kubernetes/epconfig/admission_configuration.json
在kube-apiserver.yaml 的 volumeMounts 增加
volumeMounts: # 在volumeMounts 下面增加 - mountPath: /etc/kubernetes/epconfig name: epconfig readOnly: true
在 kube-apiserver.yaml 的 volumes 增加
volumes: # 在 volumes 下面增加 - name: epconfig hostPath: path: /etc/kubernetes/epconfig type: DirectoryOrCreate
注意:如果是目录,写 DirectoryOrCreate 如果是文件,则写File
- 重启 kubelet
systemctl restart kubelet
等待3分钟左右,等集群应用策略后,确保 kube-apiserver 是running 的
检查
标签:ImagePolicyWebhook,15,kubernetes,yaml,admission,epconfig,考试题,etc,镜像 From: https://www.cnblogs.com/dagongzhe/p/17485947.html