第5章 自動化実行環境の公開
実行環境イメージを公開およびカスタマイズします。この手順では 、ee-minimal のような既存の実行環境イメージにコレクションなどのカスタムコンテンツを追加する方法をユーザーに案内します。
5.1. 既存の自動化実行環境イメージのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Ansible Controller には、次のデフォルトの実行環境が含まれています。
最小限-ansible-automation-platform-25最新の Ansible-core 2.16 リリースと Ansible Runner が含まれていますが、コレクションやその他のコンテンツは含まれていません。ansible-automation-platform-24 には、Ansible Runner とともに Ansible-core 2.15 リリースが含まれていますが、コレクションやその他のコンテンツは含まれていません。サポート対象の実行環境は、多くの自動化の前提条件を満たすものです。しかし、依存関係とそのバージョンを完全に制御するには、Minimal 実行環境を独自のカスタムイメージのベースとして使用することを推奨します。
-
EE Supported- 最小限のもの、および Red Hat がサポートするすべてのコレクションと依存関係
これらの環境は多くの自動化ユースケースに対応しますが、追加の項目を追加して、特定のニーズに合わせてこれらのコンテナーをカスタマイズできます。以下の手順では、kubernetes.core コレクションを ee-minimal デフォルトイメージに追加します。
手順
Podman を使用して
registry.redhat.ioにログインします。$ podman login -u="[username]" -p="[token/hash]" registry.redhat.io必要な自動化実行環境のベースイメージをプルできることを確認します。
podman pull registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest必要なベースイメージと新しい実行環境イメージに追加する追加のコンテンツを指定するように Ansible Builder ファイルを設定します。
たとえば、Galaxy の Kubernetes Core Collection をイメージに追加するには、Galaxy エントリーを使用します。
collections: - kubernetes.core- 定義ファイルとその内容の詳細は、定義ファイルの内容の内訳 セクションを参照してください。
実行環境定義ファイルで、
EE_BASE_IMAGEフィールドに元のee-minimalコンテナーの URL とタグを指定します。そうすることで、最終的なexecution-environment.ymlファイルは以下のようになります。例5.1 カスタマイズされた
execution-environment.ymlファイルversion: 3 images: base_image: name: 'registry.redhat.io/ansible-automation-platform-25/ee-minimal-rhel9:latest' dependencies: galaxy: collections: - kubernetes.core注記この例では、自動化ハブからの認定コレクションではなく、コミュニティーバージョンの
kubernetes.coreを使用するため、ansible.cfgファイルを作成したり、定義ファイルで参照したりする必要はありません。以下のコマンドを使用して、新しい実行環境イメージをビルドします。
$ ansible-builder build -t [username]/new-eeここで、
[username]はユーザー名を指定し、new-eeは新しいコンテナーイメージの名前を指定します。注記build コマンドで-t オプションを使用しない場合、ansible-execution-envという名前のイメージが作成され、ローカルのコンテナーレジストリーにロードされます。podman imagesコマンドを使用して、新しいコンテナーイメージがリストに表示されていることを確認します。以下は、イメージ
new-eeを使用した 'podman images' コマンドの出力です。REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MB
コレクションがインストールされていることを確認します。
$ podman run [username]/new-ee ansible-doc -l kubernetes.coreAutomation Hub で使用するイメージにタグを付けます。
$ podman tag [username]/new-ee [automation-hub-IP-address]/[username]/new-eePodman を使用して Automation Hub にログインします。
注記コンテナーをプッシュするには、Automation Hub の
adminまたは適切なコンテナーリポジトリーのアクセス許可が必要です。詳細は、Private Automation Hub でのコンテナーの管理 を参照してください。$ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]イメージを自動化ハブのコンテナーレジストリーにプッシュします。
$ podman push [automation-hub-IP-address]/[username]/new-ee新しいイメージを自動化コントローラーインスタンスにプルします。
- Automation Controller に移動します。
-
ナビゲーションパネルから、
を選択します。 - をクリックします。
適切な情報を入力して をクリックし、新規イメージにプルします。
注記自動化ハブのインスタンスがパスワードまたはトークンで保護されている場合は、適切なコンテナーレジストリーの認証情報が設定されていることを確認してください。