自学内容网 自学内容网

[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)!