11.2. 配置自定义 seccomp 配置集
您可以配置自定义 seccomp 配置集,允许您根据应用要求更新过滤器。这使得集群管理员能够更好地控制在 OpenShift Container Platform 中运行的工作负载的安全性。
11.2.1. 设置自定义 seccomp 配置集
前提条件
- 有集群管理员权限。
- 您已创建了自定义安全上下文约束 (SCC)。如需更多信息,请参阅"附加资源"。
- 您已创建了自定义 seccomp 配置集。
流程
-
使用 Machine Config 将自定义 seccomp 配置集上传到
/var/lib/kubelet/seccomp/<custom-name>.json
。有关详细信息,请参阅"附加资源"。 通过引用创建的自定义 seccomp 配置集来更新自定义 SCC:
seccompProfiles: - localhost/<custom-name>.json 1
- 1
- 提供自定义 seccomp 配置集的名称。
11.2.2. 将自定义 seccomp 配置集应用到工作负载
前提条件
- 集群管理员已设置了自定义 seccomp 配置集。如需了解更多详细信息,请参阅 "设置自定义 seccomp 配置集"。
流程
通过设置
securityContext.seccompProfile.type
字段,将 seccomp 配置集应用到工作负载,如下所示:示例
spec: securityContext: seccompProfile: type: Localhost localhostProfile: <custom-name>.json 1
- 1
- 提供自定义 seccomp 配置集的名称。
另外,您可以使用 pod 注解
seccomp.security.alpha.kubernetes.io/pod: localhost/<custom-name>.json
。但是,此方法在 OpenShift Container Platform 4.10 中已弃用。
在部署过程中,准入控制器会验证以下内容:
- 用户角色允许的当前 SCC 的注解。
- Pod 允许包含 seccomp 配置集的 SCC。
如果 pod 允许 SCC,kubelet 会使用指定的 seccomp 配置集运行 pod。
重要
确保 seccomp 配置集已部署到所有 worker 节点。
注意
自定义 SCC 必须具有自动分配给 pod 的适当优先级,或满足 Pod 所需的其他条件,如允许 CAP_NET_ADMIN。