2.7. コンテナーイメージの変更
Red Hat は、Red Hat Container Catalog (registry.redhat.io) で、事前にビルドされたコンテナーイメージを提供しています。これらのイメージを修正して、さらにレイヤーを追加することができます。これは、認定済みのサードパーティードライバーの RPM をコンテナーに追加する場合に役立ちます。
修正された OpenStack Platform コンテナーイメージが継続的にサポートされるには、修正後のイメージが Red Hat コンテナーのサポートポリシー を順守することを確認してください。
最新の openstack-keystone イメージをカスタマイズする方法を、以下の例で説明します。ただし、これらの手順は、他のイメージにも適用することができます。
手順
編集するイメージをプルします。たとえば、
openstack-keystoneイメージの場合には、以下のコマンドを実行します。sudo docker pull registry.redhat.io/rhosp13/openstack-keystone:latest
$ sudo docker pull registry.redhat.io/rhosp13/openstack-keystone:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 元のイメージで、デフォルトのユーザーを確認します。たとえば、
openstack-keystoneイメージの場合には、以下のコマンドを実行します。sudo docker run -it registry.redhat.io/rhosp13/openstack-keystone:latest whoami
$ sudo docker run -it registry.redhat.io/rhosp13/openstack-keystone:latest whoami rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記openstack-keystoneイメージは、rootをデフォルトユーザーとして使用します。その他のイメージは、特定のユーザーを使用します。たとえば、openstack-glance-apiはデフォルトユーザーにglanceを使用します。Dockerfileを作成して、既存のコンテナーイメージ上に追加のレイヤーを構築します。Container Catalog から最新の OpenStack Identity (keystone) イメージをプルして、カスタムの RPM ファイルをイメージにインストールする例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規イメージをビルドして、タグ付けします。たとえば、
/home/stack/keystoneディレクトリーに保管されたローカルのDockerfileでビルドして、アンダークラウドのローカルレジストリーにタグ付けするには、以下のコマンドを実行します。docker build /home/stack/keystone -t "192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1"
$ docker build /home/stack/keystone -t "192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 編集が終わったイメージをアンダークラウドのローカルレジストリーにプッシュします。
docker push 192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1
$ docker push 192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドコンテナーイメージの環境ファイル (通常は
overcloud_images.yaml) を編集して、カスタムのコンテナーイメージを使用するための適切なパラメーターを変更します。
Container Catalog は、コンテナーイメージに完全なソフトウェアスタックを組み込んでパブリッシュします。更新およびセキュリティー問題の修正を含むコンテナーイメージを Container Catalog がリリースする際には、既存のカスタムコンテナーには、それらの更新は 含まれない ので、カタログからのイメージを使用して再ビルドする必要があります。