7.2. 高度なコンテナーイメージ管理の実施
デフォルトのコンテナーイメージ設定は、ほとんどの環境に対応します。状況によっては、コンテナーイメージ設定にバージョンの固定などのカスタマイズが必要になる場合があります。
7.2.1. アンダークラウド用コンテナーイメージの固定 リンクのコピーリンクがクリップボードにコピーされました!
特定の状況では、アンダークラウド用に特定のコンテナーイメージバージョンのセットが必要な場合があります。そのような場合には、イメージを特定のバージョンに固定する必要があります。イメージに固定するには、コンテナー設定ファイルを生成および変更し、続いてアンダークラウドのロールデータをコンテナー設定ファイルと組み合わせ、サービスとコンテナーイメージのマッピングが含まれる環境ファイルを生成する必要があります。次に、この環境ファイルを undercloud.conf ファイルの custom_env_files パラメーターに追加します。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 --output-env-fileオプションを指定してopenstack tripleo container image prepare defaultコマンドを実行し、デフォルトのイメージ設定が含まれるファイルを生成します。sudo openstack tripleo container image prepare default \ --output-env-file undercloud-container-image-prepare.yaml
$ sudo openstack tripleo container image prepare default \ --output-env-file undercloud-container-image-prepare.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 環境の要件に応じて、
undercloud-container-image-prepare.yamlファイルを変更します。-
tag:パラメーターを削除して、director がtag_from_label:パラメーターを使用できるようにします。director はこのパラメーターを使用して各コンテナーイメージの最新バージョンを特定し、それぞれのイメージをプルし、director のコンテナーレジストリーの各イメージをタグ付けします。 - アンダークラウドの Ceph ラベルを削除します。
-
neutron_driver:パラメーターが空であることを確認します。OVN はアンダークラウドでサポートされないため、このパラメーターをOVNに設定しないでください。 コンテナーイメージレジストリーの認証情報を追加します。
ContainerImageRegistryCredentials: registry.redhat.io: myser: 'p@55w0rd!'ContainerImageRegistryCredentials: registry.redhat.io: myser: 'p@55w0rd!'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記image-serveレジストリーがまだインストールされていないので、新しいアンダークラウドのアンダークラウドレジストリーにコンテナーイメージをプッシュすることはできません。push_destinationの値をfalseに設定するか、カスタム値を使用して、イメージを直接ソースからプルする必要があります。詳細は、コンテナーイメージ準備のパラメーター を参照してください。
-
カスタムの
undercloud-container-image-prepare.yamlファイルと組み合わせたアンダークラウドのロールファイルを使用する、新たなコンテナーイメージ設定ファイルを作成します。sudo openstack tripleo container image prepare \ -r /usr/share/openstack-tripleo-heat-templates/roles_data_undercloud.yaml \ -e undercloud-container-image-prepare.yaml \ --output-env-file undercloud-container-images.yaml
$ sudo openstack tripleo container image prepare \ -r /usr/share/openstack-tripleo-heat-templates/roles_data_undercloud.yaml \ -e undercloud-container-image-prepare.yaml \ --output-env-file undercloud-container-images.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow undercloud-container-images.yamlファイルは、サービスパラメーターのコンテナーイメージへのマッピングが含まれる環境ファイルです。たとえば、OpenStack Identity (keystone) は、ContainerKeystoneImageパラメーターを使用してそのコンテナーイメージを定義します。ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel9/openstack-keystone:17.1
ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel9/openstack-keystone:17.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーイメージタグは
{version}-{release}形式に一致することに注意してください。-
undercloud.confファイルのcustom_env_filesパラメーターにundercloud-container-images.yamlファイルを追加します。アンダークラウドのインストールを実施する際に、アンダークラウドサービスはこのファイルから固定されたコンテナーイメージのマッピングを使用します。
7.2.2. オーバークラウド用コンテナーイメージのピニング リンクのコピーリンクがクリップボードにコピーされました!
特定の状況では、オーバークラウド用に特定のコンテナーイメージバージョンのセットが必要な場合があります。そのような場合には、イメージを特定のバージョンに固定する必要があります。イメージに固定するには、containers-prepare-parameter.yaml ファイルを作成して、このファイルを使用してアンダークラウドレジストリーにコンテナーイメージをプルし、固定されたイメージのリストが含まれる環境ファイルを生成する必要があります。
たとえば、containers-prepare-parameter.yaml ファイルに以下の内容が含まれる場合があります。
ContainerImagePrepare パラメーターには、単一のルール set が含まれます。このルール set には tag パラメーターを含めないでください。各コンテナーイメージの最新バージョンとリリースを特定するのに、tag_from_label パラメーターを使用する必要があります。director はこのルール set を使用して各コンテナーイメージの最新バージョンを特定し、それぞれのイメージをプルし、director のコンテナーレジストリーの各イメージをタグ付けします。
手順
openstack tripleo container image prepareコマンドを実行します。このコマンドは、containers-prepare-parameter.yamlファイルで定義されたソースからすべてのイメージをプルします。固定されたコンテナーイメージのリストが含まれる出力ファイルを指定するには、--output-env-fileを追加します。sudo openstack tripleo container image prepare -e /home/stack/templates/containers-prepare-parameter.yaml --output-env-file overcloud-images.yaml
$ sudo openstack tripleo container image prepare -e /home/stack/templates/containers-prepare-parameter.yaml --output-env-file overcloud-images.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow overcloud-images.yamlファイルは、サービスパラメーターのコンテナーイメージへのマッピングが含まれる環境ファイルです。たとえば、OpenStack Identity (keystone) は、ContainerKeystoneImageパラメーターを使用してそのコンテナーイメージを定義します。ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel9/openstack-keystone:17.1
ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel9/openstack-keystone:17.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーイメージタグは
{version}-{release}形式に一致することに注意してください。openstack overcloud deployコマンドを実行する際に、containers-prepare-parameter.yamlおよびovercloud-images.yamlファイルを特定の順序で環境ファイルコレクションに含めます。openstack overcloud deploy --templates \ ...$ openstack overcloud deploy --templates \ ... -e /home/stack/containers-prepare-parameter.yaml \ -e /home/stack/overcloud-images.yaml \ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オーバークラウドサービスは、overcloud-images.yaml ファイルにリスト表示されている固定されたイメージを使用します。