本文发布时间已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes v1.25:Pod 安全准入控制器进入稳定版
Kubernetes v1.25 的发布标志着 Kubernetes 开箱即用的 Pod 安全控制的一个重要里程碑:Pod 安全准入 (PSA) 已升级为稳定版,而 Pod 安全策略 (PSP) 已被删除。PSP 已在 Kubernetes v1.21 中被弃用,并且在 Kubernetes v1.25 及更高版本中不再起作用。
Pod 安全准入控制器取代了 Pod 安全策略,通过简单地向命名空间添加标签,可以更轻松地强制执行预定义的Pod 安全标准。 Pod 安全标准由 K8s 社区维护,这意味着每当引入新的影响安全的 Kubernetes 功能时,您都会自动获得更新的安全策略。
自 Beta 版以来有什么新功能?
自 Kubernetes v1.23 中的 Beta 版以来,Pod 安全准入没有太大变化。重点一直放在改进用户体验,同时继续保持高质量标准。
改进的违规消息
我们改进了违规消息,以便您获得更少的重复消息。例如,当 Baseline 和 Restricted 策略检查相同的能力时,不再显示以下消息
pods "admin-pod" is forbidden: violates PodSecurity "restricted:latest": non-default capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add), unrestricted capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add)
您将收到此消息
pods "admin-pod" is forbidden: violates PodSecurity "restricted:latest": unrestricted capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add)
改进的命名空间警告
当您修改命名空间上的 enforce
Pod 安全标签时,Pod 安全准入控制器会检查所有现有 Pod 是否存在违规行为,如果存在任何不合规的 Pod,则会显示警告。这些警告现在针对具有相同违规行为的 Pod 进行聚合,使具有大量副本的大型命名空间更易于管理。 例如
Warning: frontend-h23gf2: allowPrivilegeEscalation != false
Warning: myjob-g342hj (and 6 other pods): host namespaces, allowPrivilegeEscalation != false Warning: backend-j23h42 (and 1 other pod): non-default capabilities, unrestricted capabilities
此外,当您将非特权标签应用于已配置为豁免的命名空间时,您现在会收到警告,提示您注意这一事实
Warning: namespace 'kube-system' is exempt from Pod Security, and the policy (enforce=baseline:latest) will be ignored
Pod 安全标准的变化
Pod 安全标准(Pod 安全准入强制执行)已更新,支持新的 Pod OS 字段。在 v1.25 及更高版本中,如果您使用 Restricted 策略,则如果显式将 Pod 的 .spec.os.name
字段设置为 windows
,则不再需要以下特定于 Linux 的限制
- Seccomp - Pod 和容器安全上下文的
seccompProfile.type
字段 - 特权提升 - 容器安全上下文中的
allowPrivilegeEscalation
字段 - 能力 - 在容器的
capabilities
字段中删除ALL
能力的要求
在 Kubernetes v1.23 及更早版本中,kubelet 不强制执行 Pod OS 字段。如果您的集群包含运行 v1.23 或更旧版本的 kubelet 的节点,则应显式将 Restricted 策略固定到 v1.25 之前的版本。
从 PodSecurityPolicy 迁移到 Pod 安全准入控制器
有关从 PodSecurityPolicy 迁移到 Pod 安全准入控制器的说明,以及有关选择迁移策略的帮助,请参阅迁移指南。我们还在开发一个名为 pspmigrator 的工具来自动化部分迁移过程。
我们将在即将举行的 KubeCon 2022 NA 演讲中更详细地讨论 PSP 迁移,从 Pod 安全策略迁移。使用KubeCon NA 时间表了解更多信息。