6.2. アンマネージド Clair データベースを使用したカスタム Clair データベースの設定
Red Hat Quay Operator for OpenShift Container Platform を使用すると、ユーザーは独自の Clair データベースを提供できます。
次の手順を使用して、カスタム Clair データベースを作成します。
次の手順では、SSL/TLS 証明書を使用して Clair をセットアップします。SSL/TSL 証明書を使用して Clair をセットアップしない同様の手順を表示するには、「マネージド Clair 設定を使用したカスタム Clair データベースの設定」を参照してください。
手順
次のコマンドを入力して、
clair-config.yamlを含む Quay 設定バンドルシークレットを作成します。$ 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-secretClair
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ファイルをバンドルシークレットに追加します。次に例を示します。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