4.2. 既存の実行環境イメージのカスタマイズ
Ansible コントローラーには、以下の 3 つのデフォルト実行環境が同梱されています。
-
Ansible 2.9- Controller モジュール以外のコレクションがインストールされない -
Minimal- 最新の Ansible 2.12 リリースと Ansible Runner が含まれていますが、コレクションやその他の追加コンテンツは含まれていません。 -
EE Supported: Red Hat がサポートするコンテンツがすべて含まれる
これらの環境は多くの自動化ユースケースに対応しますが、追加の項目を追加して、特定のニーズに合わせてこれらのコンテナーをカスタマイズできます。以下の手順では、kubernetes.core コレクションを ee-minimal デフォルトイメージに追加します。
手順
Podman を使用して
registry.redhat.ioにログインします。podman login -u="[username]" -p="[token/hash]" registry.redhat.io
$ podman login -u="[username]" -p="[token/hash]" registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow Automation Execution Environment イメージをプルする
podman pull registry.redhat.io/ansible-automation-platform-21/ee-minimal-rhel8:latest
podman pull registry.redhat.io/ansible-automation-platform-21/ee-minimal-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Builder ファイルを、
ee-minimalをベースとする新しい実行環境イメージに追加する追加のコンテンツを指定するように設定します。たとえば、Kubernetes Core Collection を Galaxy から イメージに追加するには、以下のように
requirements.ymlファイルを入力します。collections: - kubernetes.core
collections: - kubernetes.coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 定義ファイルとそのコンテンツの詳細は、定義ファイルの内訳 セクションを参照してください。
実行環境定義ファイルの
EE_BASE_IMAGEフィールドで、元のee-minimalコンテナーファイルへのパスを指定します。その場合、最終的なexecution-environment.ymlファイルは以下のようになります。例4.2 カスタマイズされた
execution-environment.ymlファイルCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この例では、自動化ハブからの認定コレクションではなく、コミュニティーバージョンの
kubernetes.coreを使用するため、ansible.cfgを作成したり、定義ファイルで参照したりする必要はありません。以下のコマンドを使用して、新しい実行環境イメージを構築します。
ansible-builder build -t registry.redhat.io/[username]/new-ee
$ ansible-builder build -t registry.redhat.io/[username]/new-eeCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
[username]はユーザー名を指定し、new-eeは新しいコンテナーイメージの名前を指定します。podman imagesコマンドを使用して、新しいコンテナーイメージが一覧に表示されていることを確認します。例4.3
new-eeイメージを使用したpodman imagesコマンドの出力REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MB
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Ansible Navigator で新たに作成した実行環境イメージを確認します。
Automation Hub で使用するイメージにタグを付けます。
podman tag registry.redhat.io/_[username]_/_new-ee_ [automation-hub-IP-address]/_[username]_/_new-ee_
$ podman tag registry.redhat.io/_[username]_/_new-ee_ [automation-hub-IP-address]/_[username]_/_new-ee_Copy to Clipboard Copied! Toggle word wrap Toggle overflow Podman を使用して Automation Hub にログインします。
注記コンテナーをプッシュするには、Automation Hub の
adminまたは適切なコンテナーリポジトリーのアクセス許可が必要です。 を参照Managing containers in private automation hub詳細については、Red Hat Ansible Automation Platform ドキュメント の を参照してください。podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]
$ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを自動化ハブのコンテナーレジストリーにプッシュします。
podman push [automation-hub-IP-address]/_[username]_/_new-ee_
$ podman push [automation-hub-IP-address]/_[username]_/_new-ee_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいイメージを自動化コントローラーインスタンスにプルします。
- Automation Controller に移動します。
-
ナビゲーションバーから、
の順にクリックします。 - をクリックします。
適切な情報を入力して をクリックし、新規イメージにプルします。
注記自動化ハブのインスタンスがパスワードまたはトークンで保護されている場合は、適切なコンテナーレジストリーの認証情報が設定されていることを確認してください。