从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器

本页面描述从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器的过程。 这一迁移过程可以通过综合使用试运行、auditwarn 模式等来实现, 尽管在使用了变更式 PSP 时会变得有些困难。

准备开始

您的 Kubernetes 服务器版本必须不低于版本 v1.22. 要获知版本信息,请输入 kubectl version.

步骤

-- 如果你的集群中配置了变更式的 PodSecurityPolicy,将它们删除。

  • 复制所有变更式 PSP 复制到非变更式版本中。
  • 更新所有授权使用那些变更式 PSP 的 ClusterRole,使之也能为非变更式版本鉴权。
  • 检视使用了变更式 PSP 的 Pod,与拥有该代码的人一起将其迁移到合法的、非变更式的资源。
  • 删除变更式 PSP。
  • 为每个名字空间选择一个兼容的策略级别。 要分析名字空间中已有的资源才能作出此决定。
    • 审阅不同 Pod 安全标准的需求。
    • 评估禁用 PSP 控制器所带来的特权级变化。
    • 当 PodSecurityPolicy 中的设置介于两种策略级别之间时,考虑:
      • 选择一个安全许可略弱的 PodSecurity 级别,可能需要调整负载本身, 使之能够在较严格的策略下工作。
      • 选择一个安全许可略强的 PodSecurity 级别,从而避免干扰或变更负载本身。 不过这样做可能会让负载的作者在名字空间中拥有超出预期的权限。
  • warnaudit 模式下应用所选的策略。 这样做会让你了解 Pod 会如何对新的策略作出反应,同时不会破坏现有负载。 反复调试你的Pod 配置 直到它们与所选的策略匹配。
  • enforce 模式下应用策略。
  • --enable-admission-plugins 标志中去除 PodSecurityPolicy
最后修改 January 03, 2022 at 3:19 PM PST : [zh] Translate migrate from PSP (43dd2ef87)