1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

非接続環境での GPU Operator のデプロイ

Last updated at Posted at 2024-07-25

以下の手順を参照しましたが、自分の希望する完全な非接続環境を想定した手順でなかったため、Red Hatのガイドと照合しながら実行しました。

注)上のガイドのとおり実施したものの、今回の実行手順の場合、実際には不要だったと思われる手順も含まれています。

環境

  • OCP 4.12
  • プライベート・コンテナー・レジストリー:myregistry.domain.com:5001
    • docker registry使用
    • --publish 5001:5000 として起動

前提

jump host にて:

  • podman version 1.9.3+
  • grpcurl
  • Install the OpenShift CLI (oc).
  • Red Hat Enterprise Linux (RHEL) on your jump host. The jump host when configured becomes the private registry host.
  • Install the opm CLI (opm version 1.12.3+) used to prune the default catalog. Refer to opm CLI reference in the Red Hat OpenShift Container Platform documentation for information about using the CLI.

podman

# podman version
Client:       Podman Engine
Version:      4.4.1
API Version:  4.4.1
Go Version:   go1.19.6
Built:        Wed Mar 22 01:45:49 2023
OS/Arch:      linux/amd64

grpcurl

こちらから grpcurl_1.9.1_linux_amd64.rpm をダウンロードしインストール

# rpm -ihv grpcurl_1.9.1_linux_amd64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:grpcurl-0:1.9.1-1                ################################# [100%]

oc

# oc version
Client Version: 4.12.0-202310201022.p0.ga55beda.assembly.stream-a55beda
Kustomize Version: v4.5.7

opm

OpenShift mirror site から最新版をダウンロードし解凍、/usr/local/sbin に置きます。

# tar xvf opm-linux-4.12.57.tar.gz
opm
# mv opm /usr/local/sbin/
# opm version
Version: version.Version{OpmVersion:"9dd28b413", GitCommit:"9dd28b4133df91b7c14b48d1ca6e7042c5dab25b", BuildDate:"2024-05-09T20:31:13Z", GoOs:"linux", GoArch:"amd64"}

ベーシックHTTPサーバーのセットアップ

(この手順は不要でした)
イメージのミラーリングにはベーシックHTTP サーバーが必要です。ベーシックWeb サーバーを設定するには、以下のガイドラインに従ってください。

# yum install httpd -y

# systemctl restart httpd

プライベート・コンテナー・レジストリーの作成

今回、既存のプライベート・コンテナー・レジストリーを使用しました。

ミラーレジストリの認証

ミラーレジストリを認証するには、Openshift Container Platform クラスターでイメージレジストリへのアクセス用に追加の信頼ストアを構成する必要があります。openshift-config 名前空間に ConfigMap を作成し image.config.openshift.io リソースの AdditionalTrustedCA でその名前を使用できます。これにより、外部レジストリに接続するときに信頼される追加の CA が提供されます。

  1. 次の環境変数をセットします。
    export JUMP_HOST=<Your_jump_hostname>
    
  2. openshift-config 名前空間にConfigMapを作成します。
    oc create configmap registry-config \
       --from-file=${JUMP_HOST}..5000=/etc/pki/ca-trust/source/anchors/domain.crt  \
       -n openshift-config
    
  3. image.config.openshift.io リソース内の AdditionalTrustedCA をupdateします。
    oc patch image.config.openshift.io/cluster \
    --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge \
    --type=merge
    

イメージのミラーリングを可能にする認証情報の設定

Red Hat からミラーレジストリにイメージをミラーリングできるようにするコンテナイメージレジストリ資格情報ファイルを作成します。

  1. Red Hat OpenShift Cluster Manager サイトの Pull Secret ページ から registry.redhat.io プルシークレットをダウンロードします。

  2. JSON 形式でプルシークレットのコピーを作成します。

    ファイルの内容は以下の例のようになります。

    {
      "auths": {
        "cloud.openshift.com": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "quay.io": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "registry.connect.redhat.com": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        },
        "registry.redhat.io": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        }
      }
    }
    
  3. ファイルを、~/.docker/config.json または $XDG_RUNTIME_DIR/containers/auth.json として保存します。今回の場合、oc-mirrorコマンドを実行するインターネット接続マシン上に ~/.docker/config.json として保存しました。

  4. ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードまたはトークンを生成します。
    <user_name> および <password> については、レジストリーに設定したユーザー名およびパスワードを指定します。

    echo -n '<user_name>:<password>' | base64 -w0
    
  5. JSON ファイルを編集し、レジストリーについて記述するセクションをこれに追加します。

      "auths": {
        "<mirror_registry>": { 
          "auth": "<credentials>", 
          "email": "you@example.com"
        }
      },
    

    ファイルは以下の例のようになります。

    {
      "auths": {
        "registry.example.com": {
          "auth": "BGVtbYk3ZHAtqXs=",
          "email": "you@example.com"
        },
        "cloud.openshift.com": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "quay.io": {
          "auth": "b3BlbnNo...",
          "email": "you@example.com"
        },
        "registry.connect.redhat.com": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        },
        "registry.redhat.io": {
          "auth": "NTE3Njg5Nj...",
          "email": "you@example.com"
        }
      }
    }
    

参考: 非接続クラスターへのオペレーター・カタログのミラーリング

デフォルト OperatorHub ソースの無効化

oc patch OperatorHub cluster --type json \
    -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'

Node Feature Discovery (NFD) と NVIDIA GPU Operator カタログのミラーリング

今回、完全な非接続環境でのイメージセットのミラーリングを実施します。

インターネット接続マシンのディスクにイメージセットをミラーリングし、そのディスク上のイメージセットを非接続環境に移動しプライベート・コンテナー・レジストリーにミラーリングします。

前提

  • oc-mirror プラグインのインストール
  • pull-secret.json を作成し、~/.docker/config.json として配置してあること

Node Feature Discovery (NFD) Operator カタログのミラーリング

作業前の状態
operator_nfd_original.png

1. イメージセット設定の作成

イメージセット設定ファイルは、コンテンツをミラーリングするときに oc mirror コマンドで必要です。
【インターネットに接続できるマシンで実行します】

  1. oc mirror init コマンドを使用して、イメージセット設定のテンプレートファイルを作成します。

    oc mirror init > imageset-config-nfd.yaml
    
  2. イメージセット設定のテンプレートファイル imageset-config-nfd.yaml を編集します。

    参考)ImageSetConfiguration パラメーター の説明はこちら

    変更点:

    • StorageConfig: ディスク上のローカルパス /repo にイメージを保存する例です。
    • mirror.operators.packages.channels.name: stable-4.12
    • mirror.operators.catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12
    • mirror.operators.packages.name: nfd
    imageset-config-nfd.yaml
    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    storageConfig:
      local:
        path: /repo
    mirror:
      platform:
        channels:
        - name: stable-4.12
          type: ocp
      operators:
      - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12
        packages:
        - name: nfd
          channels:
          - name: stable
      additionalImages:
      - name: registry.redhat.io/ubi8/ubi:latest
      helm: {}
    

2. ミラーからディスクへのミラーリング

  1. oc mirror コマンドを実行して、前のステップで作成したイメージセット設定ファイル imageset-config-nfd.yaml を指定して、ターゲットディレクトリー /repo にイメージをミラーリングします。

    oc mirror --dest-skip-tls=true --config=./imageset-config-nfd.yaml file:///repo
    
    実行例
    # oc mirror --dest-skip-tls=true --config=./imageset-config-nfd.yaml file:///repo
    Creating directory: /repo/oc-mirror-workspace/src/publish
    Creating directory: /repo/oc-mirror-workspace/src/v2
    Creating directory: /repo/oc-mirror-workspace/src/charts
    Creating directory: /repo/oc-mirror-workspace/src/release-signatures
    No metadata detected, creating new workspace
    wrote mirroring manifests to /repo/oc-mirror-workspace/operators.1716987251/manifests-redhat-operator-index
    
    To upload local images to a registry, run:
    
            oc adm catalog mirror file://redhat/redhat-operator-index:v4.12 REGISTRY/REPOSITORY
    <dir>
      openshift/release
        blobs:
          quay.io/openshift-release-dev/ocp-v4.0-art-dev sha256:d8190195889efb5333eeec18af9b6c82313edd4db62989bd3a357caca4f13f0e 1.404KiB
          quay.io/openshift-release-dev/ocp-v4.0-art-dev sha256:c112a1b211ef5d4b547c70a949f69921382696f9f0264d2c361bcf448be8c9e2 2.174KiB
    :
    :
    sha256:e5ecc5c85b148bce8f319f500b3c93246c6cc0ddec6468e2c3d77949f42d90ff file://openshift/release:4.12.57-x86_64-prometheus-node-exporter
    sha256:fb37416ef085af33568f69176265a2fc1eb7623589ff120b6b28eadf3c55843b file://openshift/release:4.12.57-x86_64-csi-driver-manila-operator
    mounted: file://openshift/release-images sha256:2b7a510adf4536bd1348c70c9464045245b6fc320a323ac47d61f3c13294fcc3 24.37MiB
    mounted: file://openshift/release-images sha256:f30f3c670a52324bd0fd7d057c7d61f9518318d33132d95719b5cbf267864135 64.93MiB
    mounted: file://openshift/release-images sha256:be07ad4c7a081399ed6d61dcc8b21ccf61049d791914a9861cbdc51c957d80db 11.24MiB
    mounted: file://openshift/release-images sha256:97da74cc6d8fa5d1634eb1760fd1da5c6048619c264c23e62d75f3bf6b8ef5c4 75.84MiB
    uploading: file://openshift/release-images sha256:2ee02691586c07f3982e172778b813ab4f2d8929ab2f393c025fce6e52cc7389 933.7KiB
    sha256:ebd20cd66e0bbb5bcd7d16559ff4856918b7172e29d6a7bd34d8cc49a556b8f7 file://openshift/release-images:4.12.57-x86_64
    info: Mirroring completed in 7m16.34s (42.08MB/s)
    Creating archive /repo/mirror_seq1_000000.tar
    
  2. [結果の検証] ターゲットディレクトリーに .tar ファイルが作成されています。

    # ls -l /repo/mirror_seq1_000000.tar
    -rw-r--r-- 1 root root 20811304960 May 29 22:07 /repo/mirror_seq1_000000.tar
    

3. イメージセットの .tar ファイルをプライベート・コンテナー・レジストリーに接続できる非接続環境に転送します。

4. ディスクからミラーレジストリー(プライベート・コンテナー・レジストリー)へのミラーリング

【プライベート・コンテナー・レジストリーに接続できるマシンで実行します】

  1. oc mirror コマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。
    このコマンドは、ミラーレジストリーをイメージセットで更新し、ImageContentSourcePolicy および CatalogSource リソースのYAMLファイルを生成します。

    # oc mirror --from=/repo/mirror_seq1_000000.tar docker://myregistry.domain.com:5001
    Checking push permissions for myregistry.domain.com:5001
    Publishing image set from archive "/repo/mirror_seq1_000000.tar" to registry "myregistry.domain.com:5001"
    myregistry.domain.com:5001/
      openshift/release
        blobs:
          file://openshift/release sha256:d8190195889efb5333eeec18af9b6c82313edd4db62989bd3a357caca4f13f0e 1.404KiB
          file://openshift/release sha256:68fc710a0ea28d8da39e4420617a6a577c34c12a7e931887f5fa966b5fb3d16c 18.42KiB
          file://openshift/release sha256:be07ad4c7a081399ed6d61dcc8b21ccf61049d791914a9861cbdc51c957d80db 11.24MiB
          file://openshift/release sha256:f30f3c670a52324bd0fd7d057c7d61f9518318d33132d95719b5cbf267864135 64.93MiB
          file://openshift/release sha256:97da74cc6d8fa5d1634eb1760fd1da5c6048619c264c23e62d75f3bf6b8ef5c4 75.84MiB
          file://openshift/release sha256:249ac243f3b4a45e9ab4e7e9ef4074d671c258b21625a22645c9c2a5f90fac8d 128.5MiB
        manifests:
          sha256:2a6b88829b1a21aaf5e4e0cf71669143e25bc9a6d9ffa3d2eda27e611a12bc89 -> 4.12.57-x86_64-hyperkube
      stats: shared=0 unique=6 size=280.5MiB ratio=1.00
      :
      :
    catalogs/registry.redhat.io/redhat/redhat-operator-index/v4.12/layout/blobs/sha256/f4d5c29748400d5eaee8f273ad62ceee7c95a107278fe4ef5a7b9fa92b3bb3c1
    catalogs/registry.redhat.io/redhat/redhat-operator-index/v4.12/layout/index.json
    catalogs/registry.redhat.io/redhat/redhat-operator-index/v4.12/layout/oci-layout
    Rendering catalog image "myregistry.domain.com:5001/redhat/redhat-operator-index:v4.12" with file-based catalog
    Writing image mapping to oc-mirror-workspace/results-1717040630/mapping.txt
    Writing CatalogSource manifests to oc-mirror-workspace/results-1717040630
    Writing ICSP manifests to oc-mirror-workspace/results-1717040630
    
  2. [結果の検証] 実行ディレクトリー下に oc-mirror-workspace ディレクトリーができています。この下の results ディレクトリー下に、ImageContentSourcePolicy および CatalogSource リソースのYAMLファイルが存在することを確認します。

    # ls -l oc-mirror-workspace
    合計 0
    drwxr-x--- 2 root root  28  5月 30 12:50 publish
    drwxr-xr-x 4 root root 153  5月 30 12:50 results-1717040630
    
    # ls -l oc-mirror-workspace/results-1717040630/
    合計 48
    -rwxr-xr-x 1 root root   241  5月 30 12:50 catalogSource-cs-redhat-operator-index.yaml
    drwxr-xr-x 2 root root     6  5月 30 12:43 charts
    -rwxr-xr-x 1 root root   926  5月 30 12:50 imageContentSourcePolicy.yaml
    -rw-r--r-- 1 root root 39274  5月 30 12:50 mapping.txt
    drwxr-xr-x 2 root root    52  5月 30 12:50 release-signatures
    

5. oc-mirror が生成したリソースを使用するためのクラスター設定

イメージセットをミラーレジストリーにミラーリングした後、生成されたImageContentSourcePolicy および CatalogSource リソースをクラスターに適用します。

ImageContentSourcePolicy リソースは、ミラーレジストリーをソースレジストリーに関連付け、イメージプル要求をオンラインレジストリーからミラーレジストリーにリダイレクトします。
CatalogSource リソースは、Operator Lifecycle Manager (OLM) によって使用され、ミラーレジストリーで使用可能な Operator に関する情報を取得します。

  1. cluster-admin ロールを持つユーザーとして OpenShift CLI にログインします。

  2. 以下のコマンドを実行して、results ディレクトリーからクラスターに YAML ファイルを適用します。

    実行例
    # oc apply -f ./oc-mirror-workspace/results-1717040630/
    catalogsource.operators.coreos.com/cs-redhat-operator-index created
    imagecontentsourcepolicy.operator.openshift.io/generic-0 created
    imagecontentsourcepolicy.operator.openshift.io/operator-0 configured
    imagecontentsourcepolicy.operator.openshift.io/release-0 created
    
  3. [結果の検証]
    a. 以下のコマンドを実行して、ImageContentSourcePolicy リソースが正常にインストールされたことを確認します。

    oc get imagecontentsourcepolicy
    

    b. 以下のコマンドを実行して、CatalogSource リソースが正常にインストールされたことを確認します。

    oc get catalogsource -n openshift-marketplace
    

6.確認

ここまで完了すると、OperatorHubに Node Feature Discovery Operator が表示されるようになります。
image.png

NVIDIA GPU Operator カタログのミラーリング

作業前の状態
image.png

1. イメージセット設定の作成

イメージセット設定ファイルは、コンテンツをミラーリングするときに oc mirror コマンドで必要です。
【インターネットに接続できるマシンで実行します】

  1. oc mirror init コマンドを使用して、イメージセット設定のテンプレートファイルを作成します。

    oc mirror init > imageset-config-gpu.yaml
    
  2. イメージセット設定のテンプレートファイル imageset-config-gpu.yaml を編集します。

    参考)ImageSetConfiguration パラメーター の説明はこちら

    変更点:

    • StorageConfig: ディスク上のローカルパス /repo/oc-mirror-gpu にイメージを保存する例です。
    • mirror.operators.packages.channels.name: stable-4.12
    • mirror.operators.catalog: registry.redhat.io/redhat/certified-operator-index:v4.12
    • mirror.operators.packages.name: gpu-operator-certified
    • mirror.operators.packages.minversion: "23.9.0"
    imageset-config-gpu.yaml
    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    storageConfig:
      local:
        path: /repo/oc-mirror-gpu
    mirror:
      platform:
        channels:
        - name: stable-4.12
          type: ocp
      operators:
      - catalog: registry.redhat.io/redhat/certified-operator-index:v4.12
        packages:
        - name: gpu-operator-certified
          channels:
          - name: stable
            minversion: "23.9.0"
      additionalImages:
      - name: registry.redhat.io/ubi8/ubi:latest
      helm: {}
    

2. ミラーからディスクへのミラーリング

  1. oc mirror コマンドを実行して、前のステップで作成したイメージセット設定ファイル imageset-config-gpu.yaml を指定して、ターゲットディレクトリー /repo/oc-mirror-gpu にイメージをミラーリングします。

    oc mirror --config=./imageset-config-gpu.yaml file:///repo/oc-mirror-gpu
    
    実行例
    # oc mirror --config=./imageset-config-gpu.yaml file:///repo/oc-mirror-gpu
    Creating directory: /repo/oc-mirror-gpu/oc-mirror-workspace/src/publish
    Creating directory: /repo/oc-mirror-gpu/oc-mirror-workspace/src/v2
    Creating directory: /repo/oc-mirror-gpu/oc-mirror-workspace/src/charts
    Creating directory: /repo/oc-mirror-gpu/oc-mirror-workspace/src/release-signatures
    No metadata detected, creating new workspace
    wrote mirroring manifests to /repo/oc-mirror-gpu/oc-mirror-workspace/operators.1717063776/manifests-certified-operator-index
    
    To upload local images to a registry, run:
    
            oc adm catalog mirror file://redhat/certified-operator-index:v4.12 REGISTRY/REPOSITORY
    <dir>
      nvidia/cloud-native/dcgm
        blobs:
          nvcr.io/nvidia/cloud-native/dcgm sha256:ca8f57e564a0ad2f53a57dab6364abe4753c9b7492303209c4f07d5cf034dea2 186B
          nvcr.io/nvidia/cloud-native/dcgm sha256:0e330b1bb7948fe0370a609840bff63ff837f8cd6da2c4ca85b28a966654e2b3 187B
          :
          :
    sha256:91f240e026be5e7cae1cc41e795b9a95b4beb85dd2b8f5a772ab2e1576a9e0e8 file://nvidia/driver:c1f6ef75
    info: Mirroring completed in 18m4.36s (34.27MB/s)
    Creating archive /repo/oc-mirror-gpu/mirror_seq1_000000.tar      
    
  2. [結果の検証] ターゲットディレクトリーに .tar ファイルが作成されています。

    # ls -l /repo/oc-mirror-gpu/mirror_seq1_000000.tar
    -rw-r--r-- 1 root root 38846590976 May 30 19:33 /repo/oc-mirror-gpu/mirror_seq1_000000.tar
    

3. イメージセットの .tar ファイルをプライベート・コンテナー・レジストリーに接続できる非接続環境に転送します。

4. ディスクからミラーレジストリー(プライベート・コンテナー・レジストリー)へのミラーリング

【プライベート・コンテナー・レジストリーに接続できるマシンで実行します】

  1. oc mirror コマンドを実行して、ディスク上のイメージセットファイルを処理し、その内容をターゲットミラーレジストリーにミラーリングします。
    このコマンドは、ミラーレジストリーをイメージセットで更新し、ImageContentSourcePolicy および CatalogSource リソースのYAMLファイルを生成します。

    # oc mirror --from=/repo/oc-mirror-odf/mirror_seq1_000000.tar docker://myregistry.domain.com:5001
    Checking push permissions for myregistry.domain.com:5001
    Publishing image set from archive "/repo/oc-mirror-odf/mirror_seq1_000000.tar" to registry "myregistry.domain.com:5001"
    myregistry.domain.com:5001/
      /cpopen/odr-cluster-operator-bundle
        blobs:
          file://cpopen/odr-cluster-operator-bundle sha256:fd7b1a1c88907db576ccb6cce8c87e258dd167366e482811b02a47a6e5b99938 5.896KiB
          file://cpopen/odr-cluster-operator-bundle sha256:4d6ddf64b2eb275b0c3262b6853a5f827b58f4a9b0e8aab1d1bd3739df72b48d 5.898KiB
      :
      :
    catalogs/registry.redhat.io/redhat/certified-operator-index/v4.12/layout/blobs/sha256/e9e5d387bb78ec54911b40df0312b51875078de2300718c0420a4f3982c946a5
    catalogs/registry.redhat.io/redhat/certified-operator-index/v4.12/layout/index.json
    catalogs/registry.redhat.io/redhat/certified-operator-index/v4.12/layout/oci-layout
    Rendering catalog image "myregistry.domain.com:5001/redhat/certified-operator-index:v4.12" with file-based catalog
    Writing image mapping to oc-mirror-workspace/results-1717070037/mapping.txt
    Writing CatalogSource manifests to oc-mirror-workspace/results-1717070037
    Writing ICSP manifests to oc-mirror-workspace/results-1717070037
    
  2. [結果の検証] 実行ディレクトリー下に oc-mirror-workspace ディレクトリーができています。この下の results ディレクトリー下に、ImageContentSourcePolicy および CatalogSource リソースのYAMLファイルが存在することを確認します。

    # ls -l oc-mirror-workspace
    合計 0
    drwxr-x--- 2 root root  28  5月 30 12:50 publish
    drwxr-xr-x 4 root root 153  5月 30 12:50 results-1717040630
    
    # ls -l oc-mirror-workspace/results-1717070037
    合計 56
    -rwxr-xr-x 1 root root   247  5月 30 21:03 catalogSource-cs-certified-operator-index.yaml
    drwxr-xr-x 2 root root     6  5月 30 20:53 charts
    -rwxr-xr-x 1 root root  1012  5月 30 21:03 imageContentSourcePolicy.yaml
    -rw-r--r-- 1 root root 47670  5月 30 21:03 mapping.txt
    drwxr-xr-x 2 root root    60  5月 30 21:03 release-signatures
    

5. oc-mirror が生成したリソースを使用するためのクラスター設定

イメージセットをミラーレジストリーにミラーリングした後、生成されたImageContentSourcePolicy および CatalogSource リソースをクラスターに適用します。

  1. cluster-admin ロールを持つユーザーとして OpenShift CLI にログインします。

  2. 以下のコマンドを実行して、results ディレクトリーからクラスターに YAML ファイルを適用します。

    実行例
    # oc apply -f ./oc-mirror-workspace/results-1717070037/
    catalogsource.operators.coreos.com/cs-certified-operator-index created
    imagecontentsourcepolicy.operator.openshift.io/generic-0 unchanged
    imagecontentsourcepolicy.operator.openshift.io/operator-0 configured
    imagecontentsourcepolicy.operator.openshift.io/release-0 unchanged
    
  3. [結果の検証]
    a. 以下のコマンドを実行して、ImageContentSourcePolicy リソースが正常にインストールされたことを確認します。

    oc get imagecontentsourcepolicy
    

    b. 以下のコマンドを実行して、CatalogSource リソースが正常にインストールされたことを確認します。

    oc get catalogsource -n openshift-marketplace
    

6.確認

ここまで完了すると、OperatorHubに NVIDIA GPU Operator が表示されるようになります。
image.png

この後、非接続でない環境と同じ手順(↓)で、各Operatorをインストールすることが可能です。

参考:関連コマンド

カタログイメージインデックスのリスト

# oc-mirror list operators --catalogs --version=4.12
Available OpenShift OperatorHub catalogs:
OpenShift 4.12:
registry.redhat.io/redhat/redhat-operator-index:v4.12
registry.redhat.io/redhat/certified-operator-index:v4.12
registry.redhat.io/redhat/community-operator-index:v4.12
registry.redhat.io/redhat/redhat-marketplace-index:v4.12

カタログイメージインデックス内のOperator名のリスト

# oc-mirror list operators --catalog=registry.redhat.io/redhat/certified-operator-index:v4.12 --version=4.12
NAME                                                 DISPLAY NAME                                                          DEFAULT CHANNEL
abinitio-runtime-operator                            Co>Operating System Runtime Operator                                  release-4.3
acc-operator                                         netapp-acc-operator                                                   stable
accuknox-operator-certified                          Accuknox Operator                                                     alpha
aci-containers-operator                              Cisco ACI Containers Operator                                         stable
aikit-operator                                       Intel® oneAPI AI Analytics Toolkit Operator                           alpha
ako-operator                                         AKO Operator                                                          stable
alloy                                                Alloy                                                                 alpha
anchore-engine                                       Anchore Engine Operator                                               alpha
antrea-operator-for-kubernetes                       Antrea Operator                                                       alpha
anzo-operator                                        Anzo Operator                                                         stable
anzograph-operator                                   AnzoGraph Operator                                                    stable
anzounstructured-operator                            Anzo Unstructured Operator                                            stable
app-insights-operator                                App Insights                                                          stable
appdynamics-cloud-operator                           Cisco AppDynamics Cloud Operator                                      alpha
appdynamics-operator                                 AppDynamics Operator for Kubernetes                                   alpha
aqua-operator-certified                              Aqua Security Operator                                                2022.4
bookkeeper-operator                                  BookKeeper Operator                                                   alpha
cass-operator                                        DataStax Kubernetes Operator for Apache Cassandra                     stable
ccm-node-agent-dcap-operator                         CCM Node Agent DCAP Operator                                          alpha
ccm-node-agent-operator                              CCM Node Agent Operator                                               alpha
cilium                                               Cilium                                                                1.15
cilium-enterprise                                    Isovalent Enterprise for Cilium                                       1.15
citrix-adc-istio-ingress-gateway-operator            Citrix ADC Istio Ingress Gateway Operator                             alpha
citrix-cpx-istio-sidecar-injector-operator           Citrix ADC CPX Istio Sidecar Injector Operator                        alpha
citrix-cpx-with-ingress-controller-operator          Citrix ADC CPX with Ingress Controller                                stable
citrix-ingress-controller-operator                   Citrix Ingress Controller                                             stable
cloud-native-postgresql                              EDB Postgres for Kubernetes                                           stable-v1.23
cloudbees-ci                                         CloudBees CI                                                          alpha
cloudcasa-operator                                   CloudCasa                                                             alpha
cloudnative-pg                                       CloudNativePG                                                         stable-v1
cnfv-operator                                        CloudNFV                                                              alpha
cockroachdb-certified                                CockroachDB Operator                                                  stable
confluent-for-kubernetes                             Confluent for Kubernetes                                              2.8
conjur-follower-operator                             Conjur Enterprise Follower Operator                                   stable
contrail-k8s-deployer                                contrail-k8s-deployer                                                 23.1.0
couchbase-enterprise-certified                       Couchbase Operator                                                    2.6.2
crunchy-postgres-operator                            Crunchy Postgres for Kubernetes                                       v5
cte-k8s-operator                                     CipherTrust Transparent Encryption for Kubernetes (CTE-K8s) Operator  stable
datadog-operator-certified                           Datadog Operator                                                      stable
dell-csi-operator-certified                          Dell CSI Operator                                                     stable
dell-csm-operator-certified                          Dell Container Storage Modules                                        stable
digitalai-deploy-operator                            Digital.ai Deploy                                                     beta
digitalai-release-operator                           Digital.ai Release                                                    beta
dynatrace-operator                                   Dynatrace Operator                                                    alpha
edgelabs-ai-sensor-operator                          Edgelabs AI Security                                                  alpha
eginnovations-operator                               eG Innovations Universal Agent Operator                               beta
elasticsearch-eck-operator-certified                 Elasticsearch (ECK) Operator                                          stable
entando-k8s-operator                                 Entando Operator                                                      stable
f5-bigip-ctlr-operator                               F5 Container Ingress Services                                         beta
federatorai-certified                                Federator.ai                                                          stable
fujitsu-enterprise-operator                          FUJITSU Enterprise Postgres 13 Operator                               stable-13
fujitsu-enterprise-postgres-operator                 Fujitsu Enterprise Postgres Operator                                  stable
fujitsu-enterprise-postgres-operator-with-cg-module  Fujitsu Enterprise Postgres Operator with Cryptographic Module        stable
function-mesh                                        Function Mesh Operator                                                alpha
gitlab-operator-kubernetes                           GitLab                                                                stable
gitlab-runner-operator                               GitLab Runner                                                         stable
gpu-operator-certified                               NVIDIA GPU Operator                                                   v24.3
habana-ai-operator                                   Habana AI                                                             stable
:

パッケージのCHANNELのリスト

# oc-mirror list operators --catalog=registry.redhat.io/redhat/certified-operator-index:v4.12 --package=gpu-operator-certified
NAME                    DISPLAY NAME         DEFAULT CHANNEL
gpu-operator-certified  NVIDIA GPU Operator  v24.3

PACKAGE                 CHANNEL  HEAD
gpu-operator-certified  stable   gpu-operator-certified.v24.3.0
gpu-operator-certified  v1.10    gpu-operator-certified.v1.10.1
gpu-operator-certified  v1.11    gpu-operator-certified.v1.11.1
gpu-operator-certified  v22.9    gpu-operator-certified.v22.9.2
gpu-operator-certified  v23.3    gpu-operator-certified.v23.3.2
gpu-operator-certified  v23.6    gpu-operator-certified.v23.6.1
gpu-operator-certified  v23.9    gpu-operator-certified.v23.9.2
gpu-operator-certified  v24.3    gpu-operator-certified.v24.3.0

OperatorHub からクラスターで利用できる Operator の一覧

# oc get packagemanifest -n openshift-marketplace
NAME                          CATALOG                      AGE
isf-operator                  IBM Storage Fusion Catalog   6d22h
nfd                                                        19h
gpu-operator-certified                                     117m
kubernetes-nmstate-operator   Red Hat Operators            6d22h
kubevirt-hyperconverged       Red Hat Operators            6d22h
redhat-oadp-operator          Red Hat Operators            6d22h
amq-streams                   Red Hat Operators            6d22h
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?