Pod 安全策略
#
概述Pod 安全策略 (PSP) 是控制 Pod 安全的规范(如是否可以使用 root 权限等)的对象。如果 Pod 不符合 PSP 中指定的条件,Kubernetes 将不允许其启动,并且 Rancher 中将显示错误消息Pod <NAME> is forbidden: unable to validate...
。
#
Pod 安全策略工作原理您可以在集群或项目级别分配 PSP。
PSP 通过继承的方式工作。
- 默认情况下,分配给集群的 PSP 由其项目以及添加到这些项目的任何命名空间继承。
- 例外: 无论 PSP 是分配给集群还是项目,未分配给项目的命名空间不会继承 PSP。由于这些命名空间没有 PSP,因此将工作负载部署到这些命名空间将失败,这是 Kubernetes 的默认行为。
- 您可以通过直接向项目分配其他 PSP 来覆盖默认 PSP。
在分配 PSP 之前,集群或项目中已经在运行的任何工作负荷是否符合 PSP 的规定,将不会进行检查。需要克隆或升级工作负载以查看它们是否通过了 PSP。
在 Kubernetes 文档中了解有关 Pod 安全策略的更多信息。
#
默认 Pod 安全策略自 v2.0.7 起可用
Rancher 内置了两个默认的 Pod 安全策略(PSP):受限
和不受限
策略。
#
受限策略该策略基于 Kubernetes 示例受限策略。它极大地限制了可以将哪些类型的 Pod 部署到集群或项目中。这项策略:
- 阻止 Pod 以特权用户身份运行,并防止特权升级。
- 验证服务器所需的安全性机制是否到位(例如,限制哪些卷可以被挂载,以及防止添加 root 补充组)。
#
不受限策略该策略等效于在禁用 PSP 控制器的情况下运行 Kubernetes。对于可以将哪些 Pod 部署到集群或项目中,它没有任何限制
#
创建 Pod 安全策略#
前提条件- Rancher 只能为使用 RKE 启动的集群分配 Pod 安全策略
- 在将 PSP 分配给项目之前,你必须先在集群层面启用 PSP。这可以通过编辑集群来配置。
- 最好的做法是在集群层面设置 PSP。
- 我们建议在集群和项目创建期间添加 PSP,而不是将其添加到现有的项目中。
#
操作步骤在全局视图中,从主菜单中选择安全性 > Pod 安全策略。然后单击添加策略。
步骤结果: 将打开添加策略表单。
命名策略。
填写表格的每个部分。请参阅 Kubernetes 文档,以获取有关每个策略的作用的更多信息。
#
后续操作您可以在以下场景中中添加 Pod 安全策略(PSP):
注意: 我们建议在集群和项目创建期间添加 PSP,而不是将 PSP 添加到现有的集群和项目中。