11.3.6. OpenShift Update Service グラフデータコンテナーイメージの作成
OpenShift Update Service には、OpenShift Update Service がチャネルメンバーシップに関する情報を取得し、更新エッジをブロックするグラフデータコンテナーイメージが必要です。通常、グラフデータは更新グラフデータリポジトリーから直接取得します。インターネット接続が利用できない場合には、グラフデータを OpenShift Update Service で利用できるようにする別の方法として init コンテナーからこの情報を読み込むことができます。init コンテナーのロールとして、グラフデータのローカルコピーを提供し、Pod の初期化時に init コンテナーはデータをサービスがアクセスできるボリュームにコピーすることが挙げられます。
oc-mirror OpenShift CLI (oc) プラグインは、ミラーリングするリリースイメージに加えて、このグラフデータコンテナーイメージを作成します。oc-mirror プラグインを使用してリリースイメージをミラーリングした場合は、この手順を省略できます。
手順
以下を含む Dockerfile (
./Dockerfileなど) を作成します。FROM registry.access.redhat.com/ubi9/ubi:latest RUN curl -L -o cincinnati-graph-data.tar.gz https://api.openshift.com/api/upgrades_info/graph-data RUN mkdir -p /var/lib/cincinnati-graph-data && tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/cincinnati-graph-data/ --no-overwrite-dir --no-same-owner CMD ["/bin/bash", "-c" ,"exec cp -rp /var/lib/cincinnati-graph-data/* /var/lib/cincinnati/graph-data"]上記の手順で作成した docker ファイルを使用して、グラフデータコンテナーイメージ (例:
registry.example.com/openshift/graph-data:latest) を構築します。$ podman build -f ./Dockerfile -t registry.example.com/openshift/graph-data:latest前の手順で作成したグラフデータコンテナーイメージを、OpenShift Update Service (例:
registry.example.com/openshift/graph-data:latest) からアクセスできるリポジトリーにプッシュします。$ podman push registry.example.com/openshift/graph-data:latest注記非接続環境でグラフデータイメージをレジストリーにプッシュするには、前の手順で作成したグラフデータコンテナーイメージを、OpenShift Update Service からアクセス可能なリポジトリーにコピーします。利用可能なオプションは、
oc image mirror --helpを実行します。