[CKS] 执行Pod安全标准
目前的所有题目为2024年10月后更新的最新题库,考试的k8s版本为1.31.1
BackGround
为了符合要求,所有用户命名空间都强制执行受限的Pod安全标准。
Task
在confidential namespace中包含一个不符合限制性的Pod安全标准的Deployment。因此,其Pod无法被调度。
修改这个Deployment以符合标准,并验证Pod可以正常运行。
部署的清单文件可以在 ~/nginx-unprivileged.yaml找到。
Practice
Step 1: 尝试部署deployment,查看其中问题
kubectl create -f nginx-unprivileged.yaml
通过这个命令我们可以可以看到有一段Warning
Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "nginx" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
针对这个Warning
,我们可以对资源做出以下修改
Step 2:修改Deployment
将deployment.yml文件中添加如下内容:
...
spec:
template:
spec:
containers:
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop: ["ALL"]
seccompProfile:
type: RuntimeDefault
...
应用更改
kubectl apply -f nginx-unprivileged.yaml
验证
kubectl get deployment nginx-unprivileged-deployment -n confidential
原文地址:https://blog.csdn.net/agjllxchjy/article/details/143716906
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!