7.3. 高级 Clair 配置


7.3.1. 非受管 Clair 配置

使用 Red Hat Quay 3.7,用户可以在 Red Hat Quay OpenShift Container Platform Operator 上运行非受管 Clair 配置。此功能允许用户创建非受管 Clair 数据库,或在没有非受管数据库的情况下运行其自定义 Clair 配置。

7.3.1.1. 取消管理 Clair 数据库

非受管 Clair 数据库允许 Red Hat Quay Operator 在 异地复制环境中工作,其中 Operator 的多个实例必须与同一数据库通信。当用户需要在集群外存在的高可用性(HA)Clair 数据库时,也可以使用非受管 Clair 数据库。

流程

  • 在 Quay Operator 中,将 QuayRegistry 自定义资源的 clairpostgres 组件设置为非受管状态:

    apiVersion: quay.redhat.com/v1
    kind: QuayRegistry
    metadata:
      name: quay370
    spec:
      configBundleSecret: config-bundle-secret
      components:
        - kind: objectstorage
          managed: false
        - kind: route
          managed: true
        - kind: tls
          managed: false
        - kind: clairpostgres
          managed: false
    Copy to Clipboard Toggle word wrap

7.3.1.2. 配置自定义 Clair 数据库

Red Hat Quay Operator for OpenShift Container Platform 允许用户通过编辑 configBundleSecret 参数来提供自己的 Clair 配置。

流程

  1. 创建包含 clair-config.yaml 的 Quay 配置捆绑包 secret:

    $ oc create secret generic --from-file config.yaml=./config.yaml --from-file extra_ca_cert_rds-ca-2019-root.pem=./rds-ca-2019-root.pem --from-file clair-config.yaml=./clair-config.yaml --from-file ssl.cert=./ssl.cert --from-file ssl.key=./ssl.key config-bundle-secret
    Copy to Clipboard Toggle word wrap

    clair-config.yaml 配置示例:

    indexer:
        connstring: host=quay-server.example.com port=5432 dbname=quay user=quayrdsdb password=quayrdsdb sslrootcert=/run/certs/rds-ca-2019-root.pem sslmode=verify-ca
        layer_scan_concurrency: 6
        migrations: true
        scanlock_retry: 11
    log_level: debug
    matcher:
        connstring: host=quay-server.example.com port=5432 dbname=quay user=quayrdsdb password=quayrdsdb sslrootcert=/run/certs/rds-ca-2019-root.pem sslmode=verify-ca
        migrations: true
    metrics:
        name: prometheus
    notifier:
        connstring: host=quay-server.example.com port=5432 dbname=quay user=quayrdsdb password=quayrdsdb sslrootcert=/run/certs/rds-ca-2019-root.pem sslmode=verify-ca
        migrations: true
    Copy to Clipboard Toggle word wrap
    注意
    • 数据库证书挂载到 clair-config.yaml 中的 Clair 应用程序 pod 的 /run/certs/rds-ca-2019-root.pem 下。在配置 clair-config.yaml 时必须指定它。
    • Clair on OpenShift config 中包括了一个 clair-config.yaml 示例。
  2. clair-config.yaml 添加到捆绑包 secret 中,名为 configBundleSecret

    apiVersion: v1
    kind: Secret
    metadata:
      name: config-bundle-secret
      namespace: quay-enterprise
    data:
      config.yaml: <base64 encoded Quay config>
      clair-config.yaml: <base64 encoded Clair config>
      extra_ca_cert_<name>: <base64 encoded ca cert>
      clair-ssl.crt: >-
      clair-ssl.key: >-
    Copy to Clipboard Toggle word wrap
    注意

    更新后,提供的 clair-config.yaml 会挂载到 Clair pod。未提供的任何字段都将使用 Clair 配置模块自动填充默认值。

在正确配置后,Clair 应用 pod 应该返回 Ready 状态。

7.3.2. 使用 受管 数据库运行自定义 Clair 配置

在某些情况下,用户可能希望使用 受管 数据库运行自定义 Clair 配置。这在以下情况中很有用:

  • 当用户要禁用更新器时。
  • 当用户在 air-gapped 环境中运行时。

    注意
    • 如果您在 air-gapped 环境中运行 Quay,则 clair-config.yamlairgap 参数必须设置为 true
    • 如果您在 air-gapped 环境中运行 Quay,您应该禁用所有更新器。

clair posts 设置为 managed 时,请使用"配置自定义 Clair 数据库"中的步骤来配置数据库。

有关在 air-gapped 环境中运行 Clair 的更多信息,请参阅在 air-gapped OpenShift 集群中配置 Clair 数据库的访问权限

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat