17.2.4. グラフデータの init コンテナーの構築
OpenShift Update Service はグラフデータ情報を使用して、利用可能なアップグレードを判別します。オンライン環境では、OpenShift Update Service は Cincinnati グラフデータの GitHub リポジトリー から直接利用可能なアップグレードがないか、グラフデータ情報をプルします。非接続環境を設定しているので、init container
を使用してローカルリポジトリーでグラフデータを利用できるようにする必要があります。以下の手順を実行して、グラフデータの init container
を作成します。
以下のコマンドを入力して、グラフデータ Git リポジトリーのクローンを作成します。
git clone https://github.com/openshift/cincinnati-graph-data
グラフデータの
init
の情報が含まれるファイルを作成します。このサンプル Dockerfile は、cincinnati-operator
GitHub リポジトリーにあります。ファイルの内容は以下の例のようになります。FROM registry.access.redhat.com/ubi8/ubi:8.1 RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz RUN mkdir -p /var/lib/cincinnati/graph-data/ CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/ cincinnati/graph-data/ --strip-components=1"
この例では、以下のように設定されています。
-
FROM
値は、OpenShift Update Service がイメージを検索する先の外部レジストリーに置き換えます。 -
RUN
コマンドはディレクトリーを作成し、アップグレードファイルをパッケージ化します。 -
CMD
コマンドは、パッケージファイルをローカルリポジトリーにコピーして、ファイルを展開してアップグレードします。
-
以下のコマンドを実行して、
グラフデータの init container
をビルドします。podman build -f <path_to_Dockerfile> -t ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest podman push ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest --authfile=/path/to/pull_secret.json
path_to_Dockerfile は、直前の手順で作成したファイルへのパスに置き換えます。
${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container は、ローカルグラフデータ init container へのパスに置き換えます。
/path/to/pull_secret は、プルシークレットへのパスに置き換えます。
注記:
podman
がインストールされていない場合には、コマンドのpodman
をdocker
に置き換えることもできます。