検索

8.2. 非接続の OpenShift Container Platform クラスター用の Clair の自己管理デプロイメントをセットアップする

download PDF

以下の手順を使用して、非接続の OpenShift Container Platform クラスター用の Clair の自己管理デプロイメントをセットアップします。

重要

既知の問題 PROJQUAY-6577 により、Red Hat Quay Operator はカスタマイズされた Clair config.yaml ファイルを適切に処理しません。そのため、現在、次の手順は機能しません。

Operator を利用してフィールドに入力するのではなく、ユーザー自身が Clair の設定全体を最初から作成する必要があります。これを行うには、Procedure to enable Clair scanning of images in disconnected environments の手順に従ってください。

8.2.1. OpenShift Container Platform で自己管理 Clair デプロイメント用の clairctl コマンドラインユーティリティーツールをインストールする

以下の手順を使用して、OpenShift Container Platform に自己管理 Clair デプロイメント用の clairctl CLI ツールをインストールします。

手順

  1. podman cp コマンドを使用して、自己管理の Clair デプロイメント用の clairctl プログラムをインストールします。以下に例を示します。

    $ sudo podman cp clairv4:/usr/bin/clairctl ./clairctl
  2. clairctl ファイルの権限を設定して、ユーザーが実行できるようにします。次に例を示します。

    $ chmod u+x ./clairctl

8.2.2. 非接続の OpenShift Container Platform クラスター用の自己管理 Clair コンテナーをデプロイする

以下の手順を使用して、非接続の OpenShift Container Platform クラスター用の自己管理 Clair コンテナーをデプロイします。

前提条件

  • clairctl コマンドラインユーティリティーツールをインストールしている。

手順

  1. Clair 設定ファイル用のフォルダーを作成します。次に例を示します。

    $ mkdir /etc/clairv4/config/
  2. disable_updaters パラメーターを true に設定して Clair 設定ファイルを作成します。次に例を示します。

    ---
    indexer:
      airgap: true
    ---
    matcher:
      disable_updaters: true
    ---
  3. コンテナーイメージを使用して 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.12.0

8.2.3. 接続された Clair インスタンスからアップデータバンドルをエクスポートする

次の手順を使用して、インターネットにアクセスできる Clair インスタンスから更新プログラムバンドルをエクスポートします。

前提条件

  • clairctl コマンドラインユーティリティーツールをインストールしている。
  • Clair をデプロイしている。
  • Clair の config.yaml ファイルで、disable_updaters および airgap パラメーターが true に設定されている。

手順

  • インターネットにアクセスできる Clair インスタンスから、設定ファイルで clairctl CLI ツールを使用して、アップデーターバンドルをエクスポートします。以下に例を示します。

    $ ./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 インスタンスからアップデーターバンドルをエクスポートしている。

手順

  1. 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
    ...

  2. Clair データベースポートを転送して、ローカルマシンからアクセスできるようにします。以下に例を示します。

    $ oc port-forward -n quay-enterprise service/example-registry-clair-postgres 5432:5432
  3. Clair の config.yaml ファイルを更新します。次に例を示します。

    indexer:
        connstring: host=localhost port=5432 dbname=postgres user=postgres password=postgres sslmode=disable 1
        scanlock_retry: 10
        layer_scan_concurrency: 5
        migrations: true
        scanner:
          repo:
            rhel-repository-scanner: 2
              repo2cpe_mapping_file: /data/cpe-map.json
          package:
            rhel_containerscanner: 3
              name2repos_mapping_file: /data/repo-map.json
    1
    複数の connstring フィールドの host の値を localhost に置き換えます。
    2
    rhel-repository-scanner パラメーターの詳細は、「Common Product Enumeration 情報へのリポジトリーのマッピング」を参照してください。
    3
    rhel_containersscanner パラメーターの詳細は、「Common Product Enumeration へのリポジトリーのマッピング」を参照してください。

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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.