8.2. 非接続の OpenShift Container Platform クラスター用の Clair の自己管理デプロイメントをセットアップする
以下の手順を使用して、切断された OpenShift Container Platform クラスター用に Clair の自己管理デプロイメントをセットアップします。
8.2.1. OpenShift Container Platform で自己管理 Clair デプロイメント用の clairctl コマンドラインユーティリティーツールをインストールする リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、OpenShift Container Platform に自己管理 Clair デプロイメント用の clairctl CLI ツールをインストールします。
手順
podman cpコマンドを使用して、自己管理の Clair デプロイメント用のclairctlプログラムをインストールします。以下に例を示します。$ sudo podman cp clairv4:/usr/bin/clairctl ./clairctlclairctlファイルの権限を設定して、ユーザーが実行できるようにします。次に例を示します。$ chmod u+x ./clairctl
8.2.2. 非接続の OpenShift Container Platform クラスター用の自己管理 Clair コンテナーをデプロイする リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、非接続の OpenShift Container Platform クラスター用の自己管理 Clair コンテナーをデプロイします。
前提条件
-
clairctlコマンドラインユーティリティーツールをインストールしている。
手順
Clair 設定ファイル用のフォルダーを作成します。次に例を示します。
$ mkdir /etc/clairv4/config/disable_updatersパラメーターをTrueに設定して Clair 設定ファイルを作成します。次に例を示します。--- indexer: airgap: true --- matcher: disable_updaters: true ---コンテナーイメージを使用して Clair を起動し、作成したファイルから設定にマウントします。
$ sudo podman run -it --rm --name clairv4 \ -p 8081:8081 -p 8088:8088 \ -e CLAIR_CONF=/clair/config.yaml \ -e CLAIR_MODE=combo \ -v /etc/clairv4/config:/clair:Z \ registry.redhat.io/quay/clair-rhel8:v3.15.1
8.2.3. 接続された Clair インスタンスからアップデータバンドルをエクスポートする リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、インターネットにアクセスできる Clair インスタンスから更新プログラムバンドルをエクスポートします。
前提条件
-
clairctlコマンドラインユーティリティーツールをインストールしている。 - Clair をデプロイしている。
-
Clair の
config.yamlファイルで、disable_updatersおよびairgapパラメーターがTrueに設定されている。
手順
インターネットにアクセスできる Clair インスタンスから、設定ファイルで
clairctlCLI ツールを使用して、アップデーターバンドルをエクスポートします。以下に例を示します。$ ./clairctl --config ./config.yaml export-updaters updates.gz
8.2.4. 非接続の OpenShift Container Platform クラスター内の Clair データベースへのアクセスの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、非接続の OpenShift Container Platform クラスター内の Clair データベースへのアクセスを設定します。
前提条件
-
clairctlコマンドラインユーティリティーツールをインストールしている。 - Clair をデプロイしている。
-
Clair の
config.yamlファイルで、disable_updatersおよびairgapパラメーターがTrueに設定されている。 - インターネットにアクセスできる Clair インスタンスからアップデーターバンドルをエクスポートしている。
手順
CLI ツール
ocを使用して、Clair データベースサービスを特定します。次に例を示します。$ oc get svc -n quay-enterprise出力例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE example-registry-clair-app ClusterIP 172.30.224.93 <none> 80/TCP,8089/TCP 4d21h example-registry-clair-postgres ClusterIP 172.30.246.88 <none> 5432/TCP 4d21h ...Clair データベースポートを転送して、ローカルマシンからアクセスできるようにします。以下に例を示します。
$ oc port-forward -n quay-enterprise service/example-registry-clair-postgres 5432:5432Clair の
config.yamlファイルを更新します。次に例を示します。indexer: connstring: host=localhost port=5432 dbname=postgres user=postgres password=postgres sslmode=disable1 layer_scan_concurrency: 5 migrations: true scanlock_retry: 10 airgap: true scanner: repo: rhel-repository-scanner:2 repo2cpe_mapping_file: /data/repository-to-cpe.json package: rhel_containerscanner:3 name2repos_mapping_file: /data/container-name-repos-map.json
8.2.5. 非接続の OpenShift Container Platform クラスターへのアップデーターバンドルのインポート リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、アップデーターバンドルを非接続の OpenShift Container Platform クラスターにインポートします。
前提条件
-
clairctlコマンドラインユーティリティーツールをインストールしている。 - Clair をデプロイしている。
-
Clair の
config.yamlファイルで、disable_updatersおよびairgapパラメーターがTrueに設定されている。 - インターネットにアクセスできる Clair インスタンスからアップデーターバンドルをエクスポートしている。
- アップデーターバンドルを非接続環境に転送している。
手順
CLI ツール
clairctlを使用して、アップデーターバンドルを OpenShift Container Platform によってデプロイされた Clair データベースにインポートします。$ ./clairctl --config ./clair-config.yaml import-updaters updates.gz