27.2. オーバークラウド用コンテナーイメージのピニング

特定の状況では、オーバークラウド用に特定のコンテナーイメージバージョンのセットが必要な場合があります。そのような場合には、イメージを特定のバージョンに固定する必要があります。イメージに固定するには、containers-prepare-parameter.yaml ファイルを作成して、このファイルを使用してアンダークラウドレジストリーにコンテナーイメージをプルし、固定されたイメージのリストが含まれる環境ファイルを生成する必要があります。

たとえば、containers-prepare-parameter.yaml ファイルに以下の内容が含まれる場合があります。

parameter_defaults:
  ContainerImagePrepare:
    - push_destination: true
      set:
        name_prefix: openstack-
        name_suffix: ''
        namespace: registry.redhat.io/rhosp-rhel8
        neutron_driver: ovn
      tag_from_label: '{version}-{release}'

  ContainerImageRegistryCredentials:
    registry.redhat.io:
      myuser: 'p@55w0rd!'

ContainerImagePrepare パラメーターには、単一のルール set が含まれます。このルール set には tag パラメーターを含めないでください。各コンテナーイメージの最新バージョンとリリースを特定するのに、tag_from_label パラメーターを使用する必要があります。director はこのルール set を使用して各コンテナーイメージの最新バージョンを特定し、それぞれのイメージをプルし、director のコンテナーレジストリーの各イメージをタグ付けします。

手順

  1. 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

    overcloud-images.yaml ファイルは、サービスパラメーターのコンテナーイメージへのマッピングが含まれる環境ファイルです。たとえば、OpenStack Identity (keystone) は、ContainerKeystoneImage パラメーターを使用してそのコンテナーイメージを定義します。

    ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-keystone:16.2.4-5

    コンテナーイメージタグは {version}-{release} 形式に一致することに注意してください。

  2. openstack overcloud deploy コマンドを実行する際に、containers-prepare-parameter.yaml および overcloud-images.yaml ファイルを特定の順序で環境ファイルコレクションに含めます。

    $ openstack overcloud deploy --templates \
        ...
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/overcloud-images.yaml \
        ...

オーバークラウドサービスは、overcloud-images.yaml ファイルにリスト表示されている固定されたイメージを使用します。