5.3. OpenShift Container Platform イメージリポジトリーのミラーリング
ネットワークが制限された環境でプロビジョニングするインフラストラクチャーのクラスターをアップグレードする前に、必要なコンテナーイメージをその環境にミラーリングする必要があります。この手順を無制限のネットワークで使用して、クラスターが外部コンテンツにちて組織の制御の条件を満たすコンテナーイメージのみを使用するようにすることもできます。
手順
- OpenShift Container Platform のアップグレードパス を確認し、現在のクラスターバージョンと意図されるクラスターバージョン間にアップグレードパスがあることを確認します。
必要な環境変数を設定します。
$ OCP_RELEASE=<release_version> 1 $ LOCAL_REGISTRY='<local_registry_host_name>:<local_registry_host_port>' 2 $ LOCAL_REPOSITORY='<repository_name>' 3 $ PRODUCT_REPO='openshift-release-dev' 4 $ LOCAL_SECRET_JSON='<path_to_pull_secret>' 5 $ RELEASE_NAME='ocp-release' 6 $ ARCHITECTURE=<server_architecture> 7 $ REMOVABLE_MEDIA_PATH=<path> 8
- 1
<release_version>
について、インストールする OpenShift Container Platform のバージョンに対応するタグを指定します (例:4.5.0
)。- 2
<local_registry_host_name>
については、ミラーレジストリーのレジストリードメイン名を指定し、<local_registry_host_port>
については、コンテンツの送信に使用するポートを指定します。- 3
<repository_name>
については、ocp4/openshift4
などのレジストリーに作成するリポジトリーの名前を指定します。- 4
- ミラーリングするリポジトリー。実稼働環境のリリースの場合には、
openshift-release-dev
を指定する必要があります。 - 5
<path_to_pull_secret>
については、作成したミラーレジストリーのプルシークレットおよびファイル名の絶対パスを指定します。- 6
- 実稼働環境のリリースについては、
ocp-release
を指定する必要があります。 - 7
<server_architecture>
について、サーバーのアーキテクチャー (x86_64
など)を指定します。- 8
<path>
について、ミラーリングされたイメージをホストするためのディレクトリーへのパスを指定します。
ミラーリングするイメージおよび設定マニフェストを確認します。
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} --dry-run
バージョンイメージを内部コンテナーレジストリーにミラーリングします。
ミラーホストがインターネットにアクセスできない場合は、以下の操作を実行します。
- リムーバブルメディアをインターネットに接続しているシステムに接続します。
イメージおよび設定マニフェストをリムーバブルメディア上のディレクトリーにミラーリングします。
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE}
メディアをネットワークが制限された環境に移し、イメージをローカルコンテナーレジストリーにアップロードします。
$ oc image mirror -a ${LOCAL_SECRET_JSON} --from-dir=${REMOVABLE_MEDIA_PATH}/mirror 'file://openshift/release:${OCP_RELEASE}*' ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}
ローカルコンテナーレジストリーがミラーホストに接続されている場合、リリースイメージをローカルレジストリーに直接プッシュできます。
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} \ --to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}