4.3. OpenShift Container Platform クラスターへのイメージのプッシュ
前提条件
RHEL マシンから OpenShift Container Platform クラスターへのアクセス。
RHEL マシンから、イメージをクラスターレジストリーにプッシュします。
$ podman push <cluster-domain>:<registry-port>/iib:my-operator-iib
ミラーリングプロセスに必要な 3 つのファイルを作成します。
$ /usr/local/bin/oc adm catalog mirror \ <cluster-domain>:<registry-port>/iib:my-operator-iib \ <cluster-domain>:<registry-port> \ -a /home/customer-user/.docker/config.json \ --insecure=true \ --registry-config /home/customer-user/.docker/config.json \ --index-filter-by-os=linux/amd64 \ --manifests-only
次のファイルが存在することを確認します。
-
catalogSource.yaml
- catalogSource を記述する YAML ファイル。 -
imageContentSourcePolicy.yaml
- 内部レジストリーのイメージを RedHat レジストリーからのアドレスにマップする YAML ファイル。 -
mapping.txt
- イメージの内部レジストリーへのミラーリングプロセスを駆動するテキストファイル。
-
mapping.txt
を編集して、ミラーリングするイメージのみを一覧表示します。ファイルの形式は次のとおりです。
[ Operator address on RedHat registry : Operator SHA ] = [ Operator address on internal mirror registry : tag ]
mapping.txt
ファイルの例:registry.redhat.io/amq7/amq-interconnect@sha256:6101cc735e4d19cd67c6d80895c425ecf6f1d2604d88f999fa0cae57a7d6abaf=<cluster-domain>:<registry-port>/amq7-amq-interconnect:f793b0cc registry.redhat.io/amq7/amq-interconnect-operator@sha256:8dd53290c909589590b88a1544d854b4ad9f8b4a639189597c0a59579bc60c40=<cluster-domain>:<registry-port>/amq7-amq-interconnect-operator:73c142ff registry.redhat.io/amq7/amq-interconnect-operator-metadata@sha256:799ce48905d5d2a91b42e2a7943ce9b756aa9da80f6924be06b2a6275ac90214=<cluster-domain>:<registry-port>/amq7-amq-interconnect-operator-metadata:14cc4a4e
必須イメージのミラーリング
$ /usr/local/bin/oc image mirror \ -f mapping-ic.yaml \ -a /home/customer-user/.docker/config.json \ --insecure=true \ --registry-config /home/customer-user/.docker/config.json \ --keep-manifest-list=true
ImageContentSourcePolicy
(ICSP) 名を設定します。imageContentSourcePolicy.yaml ファイルの name フィールドを設定します (例:
my-operator-icsp
)。ICSP スニペットの例:
--- apiVersion: operator.openshift.io/v1alpha1 kind: ImageContentSourcePolicy metadata: labels: operators.openshift.org/catalog: "true" name: my-operator-icsp spec: repositoryDigestMirrors: - mirrors: - <cluster-domain>:<registry-port>/amq7-amq-interconnect-operator source: registry.redhat.io/amq7/amq-interconnect-operator
ポリシー (ICSP) ファイルを適用します。
$ /usr/local/bin/oc create -f imageContentSourcePolicy.yaml
このファイルを適用すると、すべてのクラスターノードが自動的にリセットされます。
oc get nodes
を使用するか、OpenShift コンソールで Compute → Nodes に移動して、ノードのステータスを確認できます。注記続行する前に、すべてのノードが Ready 状態であることを確認してください。
catalogSource 名を設定します。
catalogSource.yaml
ファイルのname
フィールドを設定します (例:my-operator-catalog の
)。catalogSource.yaml
ファイルの例:apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: iib namespace: openshift-marketplace spec: image: <cluster-domain>:<registry-port>/iib:my-operator-iib sourceType: grpc
カタログソース設定を適用して、Red Hat Integration - AMQ Interconnect Operator のインストールを完了します。
$ /usr/local/bin/oc apply -f catalogSource.yaml
- 「内部ルーターデプロイメントの作成」 の説明に従ってルーターを展開して、インストールが機能していることを確認します。