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-operatorGitHub リポジトリーにあります。ファイルの内容は以下の例のようになります。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.jsonpath_to_Dockerfile は、直前の手順で作成したファイルへのパスに置き換えます。
${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container は、ローカルグラフデータ init container へのパスに置き換えます。
/path/to/pull_secret は、プルシークレットへのパスに置き換えます。
注記:
podmanがインストールされていない場合には、コマンドのpodmanをdockerに置き換えることもできます。