从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器
本页面描述从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器的过程。
这一迁移过程可以通过综合使用试运行、audit
和 warn
模式等来实现,
尽管在使用了变更式 PSP 时会变得有些困难。
准备开始
您的 Kubernetes 服务器版本必须不低于版本 v1.22.
要获知版本信息,请输入 kubectl version
.
- 确保
PodSecurity
特性门控被启用。
步骤
-- 如果你的集群中配置了变更式的 PodSecurityPolicy,将它们删除。
- 复制所有变更式 PSP 复制到非变更式版本中。
- 更新所有授权使用那些变更式 PSP 的 ClusterRole,使之也能为非变更式版本鉴权。
- 检视使用了变更式 PSP 的 Pod,与拥有该代码的人一起将其迁移到合法的、非变更式的资源。
- 删除变更式 PSP。
- 为每个名字空间选择一个兼容的策略级别。
要分析名字空间中已有的资源才能作出此决定。
- 审阅不同 Pod 安全标准的需求。
- 评估禁用 PSP 控制器所带来的特权级变化。
- 当 PodSecurityPolicy 中的设置介于两种策略级别之间时,考虑:
- 选择一个安全许可略弱的 PodSecurity 级别,可能需要调整负载本身, 使之能够在较严格的策略下工作。
- 选择一个安全许可略强的 PodSecurity 级别,从而避免干扰或变更负载本身。 不过这样做可能会让负载的作者在名字空间中拥有超出预期的权限。
- 在
warn
和audit
模式下应用所选的策略。 这样做会让你了解 Pod 会如何对新的策略作出反应,同时不会破坏现有负载。 反复调试你的Pod 配置 直到它们与所选的策略匹配。 - 用
enforce
模式下应用策略。 - 在
--enable-admission-plugins
标志中去除PodSecurityPolicy
。
最后修改
January 03, 2022 at 3:19 PM PST
: [zh] Translate migrate from PSP (43dd2ef87)