CKS 考试概览
本次整理涵盖了 CKS(Certified Kubernetes Security Specialist)认证中的高频实操场景。考试时长通常为 2 小时,包含 15-20 道题目,满分不到 100 分,及格线一般为 67 分。环境通常包含 4 套集群和 1 个控制台,NAT 网段多为 192.168.26.0。
注意: 以下所有操作默认基于已配置的 k8s 上下文进行(kubectl config use-context k8s)。
1. 镜像扫描 ImagePolicyWebhook
场景: 集群已部署容器镜像扫描器,但尚未完全集成。需要配置 Admission Controller 以拦截漏洞镜像。
操作步骤:
- 定位配置文件: 在 master 节点查看
/etc/kubernetes/aa/目录,确认kubeconf、证书文件及admission_config.yaml存在。 - 修改 Admission 配置: 编辑
/etc/kubernetes/aa/admission_config.yaml,确保defaultAllow设为false以实现隐式拒绝策略。 - 配置 API Server: 编辑静态 Pod 配置
/etc/kubernetes/manifests/kube-apiserver.yaml。- 添加
--enable-admission-plugins=NodeRestriction,ImagePolicyWebhook。 - 指定配置文件:
--admission-control-config-file=/etc/kubernetes/aa/admission_config.yaml。 - 挂载卷:确保将
/etc/kubernetes/aa挂载到容器内,以便 API Server 读取配置。
- 添加
- 重启服务: 修改静态 Pod 后,Kubelet 会自动重启 Pod。若未生效,可尝试
systemctl restart kubelet。 - 验证: 尝试部署一个受信任的镜像(如 nginx),观察是否被正确拦截或放行。
2. Sysdig 检测异常进程
场景: 在 Worker 节点上检测特定 Pod 中频繁生成的异常进程。
关键点: 工具仅预装在 Worker 节点,需 SSH 登录对应 Node。
操作思路:
使用 sysdig 过滤容器 ID 并记录 30 秒内的进程信息。输出格式需符合 [timestamp],[uid],[processName]。
# 找到目标容器的 ID
sysdig -l | grep container.id
# 执行监控并重定向至报告文件
sysdig -M 30 -p "*%evt.time,%user.uid,%proc.name" container.id=<容器ID> > /opt/2/report
3. ClusterRole 权限最小化
场景: 修复 RoleBinding 过度授权问题,限制为仅允许 Endpoints 的 list 操作;新建 Role 限制 PersistentVolumeClaims 的 update 操作。
操作思路:
- 修改现有 Role: 编辑
role-1,将 verb 限制为 ,resource 限制为 。


