11.2. 配置自定义 seccomp 配置集

您可以配置自定义 seccomp 配置集,允许您根据应用要求更新过滤器。这使得集群管理员能够更好地控制在 OpenShift Container Platform 中运行的工作负载的安全性。

11.2.1. 设置自定义 seccomp 配置集

前提条件

  • 有集群管理员权限。
  • 您已创建了自定义安全上下文约束 (SCC)。如需更多信息,请参阅"附加资源"。
  • 您已创建了自定义 seccomp 配置集。

流程

  1. 使用 Machine Config 将自定义 seccomp 配置集上传到 /var/lib/kubelet/seccomp/<custom-name>.json。有关详细信息,请参阅"附加资源"。
  2. 通过引用创建的自定义 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。