第 16 章 对 pod 进行安全漏洞扫描


重要

Red Hat Quay Container Security Operator 已被弃用,计划在以后的 OpenShift Container Platform 发行版本中删除。Red Hat Quay Container Security Operator 的官方替换产品是 Red Hat Advanced Cluster Security for Kubernetes。

使用 Red Hat Quay Container Security Operator,您可以访问 OpenShift Container Platform Web 控制台中用于集群中活跃 pod 的容器镜像,访问 OpenShift Container Platform Web 控制台中的漏洞扫描结果。Red Hat Quay Container Security Operator:

  • 监视与所有或指定命名空间中的 pod 关联的容器
  • 查询容器来自漏洞信息的容器 registry,只要镜像的 registry 正在运行镜像扫描(如 Quay.io 或带有 Clair 扫描的 Red Hat Quay registry)
  • 通过 Kubernetes API 中的 ImageManifestVuln 对象公开漏洞

根据这里的说明,Red Hat Quay Container Security Operator 安装在 openshift-operators 命名空间中,因此 OpenShift Container Platform 集群上的所有命名空间都可以使用它。

16.1. 安装 Red Hat Quay Container Security Operator

您可以通过 OpenShift Container Platform Web 控制台 Operator Hub 或 CLI 安装 Red Hat Quay Container Security Operator。

先决条件

  • 已安装 oc CLI。
  • 具有 OpenShift Container Platform 集群的管理员特权。
  • 您有来自集群中运行的 Red Hat Quay 或 Quay.io registry 的容器。

流程

  1. 您可以使用 OpenShift Container Platform Web 控制台安装 Red Hat Quay Container Security Operator:

    1. 在 Web 控制台中,进入到 Operators OperatorHub 并选择 Security
    2. 选择 Red Hat Quay Container Security Operator Operator,然后选择 Install
    3. Red Hat Quay Container Security Operator 页面中,选择 InstallUpdate channel, Installation mode, 和 Update approval 会自动选择。Installed Namespace 字段默认为 openshift-operators。您可以根据需要调整这些设置。
    4. 选择 Install。在 Installed Operators 页面中,Red Hat Quay Container Security Operator 会出现。
    5. 可选:您可以在 Red Hat Quay Container Security Operator 中添加自定义证书。例如,在当前目录中创建一个名为 quay.crt 的证书。然后,运行以下命令将自定义证书添加到 Red Hat Quay Container Security Operator 中:

      $ oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators
      Copy to Clipboard Toggle word wrap
    6. 可选:如果您添加了自定义证书,请重启 Red Hat Quay Container Security Operator pod 以使新证书生效。
  2. 另外,您可以使用 CLI 安装 Red Hat Quay Container Security Operator:

    1. 输入以下命令来检索 Container Security Operator 及其频道的最新版本:

      $ oc get packagemanifests container-security-operator \
        -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \
        | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \
        | sort -Vr \
        | head -1
      Copy to Clipboard Toggle word wrap

      输出示例

      STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8
      Copy to Clipboard Toggle word wrap

    2. 使用上一命令的输出,为 Red Hat Quay Container Security Operator 创建一个 Subscription 自定义资源,并将它保存为 container-security-operator.yaml。例如:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: container-security-operator
        namespace: openshift-operators
      spec:
        channel: ${CHANNEL} 
      1
      
        installPlanApproval: Automatic
        name: container-security-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        startingCSV: ${STARTING_CSV} 
      2
      Copy to Clipboard Toggle word wrap
      1
      spec.channel 参数指定您在上一步中获取的值。
      2
      指定您在上一步中为 spec.startingCSV 参数获取的值。
    3. 输入以下命令应用配置:

      $ oc apply -f container-security-operator.yaml
      Copy to Clipboard Toggle word wrap

      输出示例

      subscription.operators.coreos.com/container-security-operator created
      Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat