6.2. 使用非受管 Clair 数据库配置自定义 Clair 数据库
OpenShift Container Platform 上的 Red Hat Quay 允许用户提供自己的 Clair 数据库。
使用以下步骤创建自定义 Clair 数据库。
注意
以下流程使用 SSL/TLS 认证设置 Clair。要查看没有使用 SSL/TSL 认证设置 Clair 的类似流程,请参阅"使用受管 Clair 配置自定义 Clair 数据库"。
流程
输入以下命令创建一个包含
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
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
注意-
数据库证书挂载到
clair-config.yaml
中的 Clair 应用程序 pod 上的/run/certs/rds-ca-2019-root.pem
下。它必须在配置clair-config.yaml
时指定。 -
有关
clair-config.yaml
的示例,请参阅 OpenShift 配置的 Clair。
-
数据库证书挂载到
将
clair-config.yaml
文件添加到捆绑包 secret 中,例如: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> ssl.crt: <base64 encoded SSL certificate> ssl.key: <base64 encoded SSL private key>
注意更新后,提供的
clair-config.yaml
文件会挂载到 Clair pod 中。不提供的任何字段都会使用 Clair 配置模块自动填充默认值。您可以点击 Build History 页面中的提交或运行
oc get pods -n <namespace
> 来检查 Clair pod 的状态。例如:$ oc get pods -n <namespace>
输出示例
NAME READY STATUS RESTARTS AGE f192fe4a-c802-4275-bcce-d2031e635126-9l2b5-25lg2 1/1 Running 0 7s