7.2. 在非 OpenShift Red Hat Quay 部署上设置 Clair


对于不在 OpenShift 上运行的 Red Hat Quay 部署,可以手动配置 Clair 安全扫描。Red Hat Quay 部署已在运行 Clair V2,可使用以下说明将 Clair V4 添加到其部署中。

  1. 部署(最好具有容错) Postgres 数据库服务器。请注意,Clair -ossp 扩展需要添加到其 Postgres 数据库中。如果 Clair 的 config.yaml 中提供的用户有创建扩展所需的权限,那么它将由 Clair 本身自动添加。如果不是,必须在启动 Clair 前添加扩展。如果扩展不存在,则 Clair 尝试启动时会显示以下错误。

    ERROR: Please load the "uuid-ossp" extension. (SQLSTATE 42501)
  2. 在特定文件夹中创建 Clair 配置文件,例如 /etc/clairv4/config/config.yaml

    config.yaml

    introspection_addr: :8089
    http_listen_addr: :8080
    log_level: debug
    indexer:
      connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
      scanlock_retry: 10
      layer_scan_concurrency: 5
      migrations: true
    matcher:
      connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
      max_conn_pool: 100
      run: ""
      migrations: true
      indexer_addr: clair-indexer
    notifier:
      connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
      delivery_interval: 1m
      poll_interval: 5m
      migrations: true
    
    # tracing and metrics
    trace:
      name: "jaeger"
      probability: 1
      jaeger:
        agent_endpoint: "localhost:6831"
        service_name: "clair"
    metrics:
      name: "prometheus"

如需有关 Clair 的配置格式的更多信息,请参阅上游 Clair 文档

  1. 通过容器镜像运行 Clair,挂载在来自您所创建文件的配置中。

    $ podman run -p 8080:8080 -p 8089:8089 -e CLAIR_CONF=/clair/config.yaml -e CLAIR_MODE=combo -v /etc/clair4/config:/clair -d registry.redhat.io/quay/clair-rhel8:v3.7.13
  2. 按照上一节中的剩余说明,用于配置 Red Hat Quay 以使用新的 Clair V4 端点。

也可以以这种方式运行多个 Clair 容器,但对于单个容器之外的部署场景,我们强烈建议使用 Kubernetes 或 OpenShift 等容器编排器。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.