第27章 高度なコンテナーイメージ管理の実施

デフォルトのコンテナーイメージ設定は、ほとんどの環境に対応します。状況によっては、コンテナーイメージ設定にバージョンの固定などのカスタマイズが必要になる場合があります。

27.1. アンダークラウド用コンテナーイメージの固定

特定の状況では、アンダークラウド用に特定のコンテナーイメージバージョンのセットが必要な場合があります。そのような場合には、イメージを特定のバージョンに固定する必要があります。イメージに固定するには、コンテナー設定ファイルを生成および変更し、続いてアンダークラウドのロールデータをコンテナー設定ファイルと組み合わせ、サービスとコンテナーイメージのマッピングが含まれる環境ファイルを生成する必要があります。次に、この環境ファイルを undercloud.conf ファイルの custom_env_files パラメーターに追加します。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. --output-env-file オプションを指定して openstack tripleo container image prepare default コマンドを実行し、デフォルトのイメージ設定が含まれるファイルを生成します。

    $ sudo openstack tripleo container image prepare default \
    --output-env-file undercloud-container-image-prepare.yaml
  3. 環境の要件に応じて、undercloud-container-image-prepare.yaml ファイルを変更します。

    1. tag: パラメーターを削除して、director が tag_from_label: パラメーターを使用できるようにします。director はこのパラメーターを使用して各コンテナーイメージの最新バージョンを特定し、それぞれのイメージをプルし、director のコンテナーレジストリーの各イメージをタグ付けします。
    2. アンダークラウドの Ceph ラベルを削除します。
    3. neutron_driver: パラメーターが空であることを確認します。OVN はアンダークラウドでサポートされないため、このパラメーターを OVN に設定しないでください。
    4. コンテナーイメージレジストリーの認証情報を追加します。

      ContainerImageRegistryCredentials:
        registry.redhat.io
          myser: 'p@55w0rd!'
      注記

      image-serve レジストリーがまだインストールされていないので、新しいアンダークラウドのアンダークラウドレジストリーにコンテナーイメージをプッシュすることはできません。push_destination の値を false に設定するか、カスタム値を使用して、イメージを直接ソースからプルする必要があります。詳細は、コンテナーイメージ準備のパラメーター を参照してください。

  4. カスタムの 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

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

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

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

  5. undercloud.conf ファイルの custom_env_files パラメーターに undercloud-container-images.yaml ファイルを追加します。アンダークラウドのインストールを実施する際に、アンダークラウドサービスはこのファイルから固定されたコンテナーイメージのマッピングを使用します。