2.7. 定義ファイルの内容の内訳


Ansible Builder を使用して自動化実行環境を構築するには、自動化実行環境のコンテナーイメージに含めるコンテンツを指定した定義ファイルを用意する必要があります。

次のセクションでは、定義ファイルの各部分を詳しく説明します。

2.7.1. ビルド引数

定義ファイルの build_arg_defaults セクションはディクショナリーです。このディクショナリーのキーで、Ansible Builder に渡す引数のデフォルト値を指定できます。

次の表は、build_arg_defaults で使用できる値を示しています。

Expand
説明

ANSIBLE_GALAXY_CLI_COLLECTION_OPTS

この値を使用すると、コレクションのインストールフェーズ中に、ansible-galaxy CLI に任意の引数を渡すことができます。

たとえば、リリース前のコレクションのインストールを有効にするには -pre フラグを使用し、サーバーの SSL/TLS 証明書の検証を無効にするには -c を使用します。

ANSIBLE_GALAXY_CLI_ROLE_OPTS

この値を使用すると、-no-deps などのフラグをロールのインストールに渡すことができます。

注記

通常は、Podman を使用してベースイメージをカスタマイズし、カスタムベースイメージを作成してから、このカスタムイメージで ansible-builder を呼び出すほうが (特にパイプラインとの関連で) 簡単です。

build_arg_defaults で指定される値は Containerfile にハードコーディングされるため、podman build を手動で呼び出すとこの値が維持されます。

注記

CLI の --build-arg フラグで同じ変数が指定されている場合は、CLI の値が優先されます。

2.7.2. 定義の依存関係

最終イメージにインストールする必要がある依存関係は、定義ファイルの依存関係セクションに含めることができます。

自動化実行環境イメージに関する問題を回避するために、Galaxy、Python、およびシステムのエントリーが、有効な要件ファイルを指していること、またはそのファイルタイプに対して有効なコンテンツであることを確認してください。

2.7.2.1. Galaxy

galaxy エントリーには、有効な要件ファイルへの参照か、ansible-galaxy collection install -r … コマンドのインラインコンテンツを含めます。

requirements.yml エントリーは、自動化実行環境定義のフォルダーのディレクトリーからの相対パスか、絶対パスにすることができます。

内容は次のようになります。

collections:
  - community.aws
  - kubernetes.core
Copy to Clipboard Toggle word wrap

2.7.2.2. Python

定義ファイル内の python エントリーでは、有効な要件ファイル、または PEP508 形式で pip install -r … コマンドの Python 要件のインラインリストを指定します。

requirements.txt エントリーは、コレクションですでに Python 依存関係としてリストされているものに加えて、追加の Python 要件をインストールするファイルです。このエントリーは、自動化実行環境定義のフォルダーのディレクトリーを基準とした相対パス、または絶対パスの形で指定できます。requirements.txt ファイルの内容は、pip freeze コマンドの標準出力と同様に、次の例のような形式にする必要があります。

内容は次のようになります。

boto>=2.49.0
botocore>=1.12.249
pytz
python-dateutil>=2.7.0
awxkit
packaging
requests>=2.4.2
xmltodict
azure-cli-core==2.11.1
openshift>=0.6.2
requests-oauthlib
openstacksdk>=0.13
ovirt-engine-sdk-python>=4.4.10
Copy to Clipboard Toggle word wrap

2.7.2.3. システム

定義内の system エントリーでは、bindep 要件ファイルまたは bindep エントリーのインラインリストを指定します。これにより、コレクションに依存関係として含まれていないシステムレベルの依存関係がインストールされます。

system エントリーは、自動化実行環境定義のフォルダーのディレクトリーを基準とした相対パス、または絶対パスの形で指定できます。コレクションでは、少なくとも [platform:rpm] に対する必須要件を指定する必要があります。

これを説明するために、libxml2 および subversion パッケージをコンテナーに追加する bindep.txt ファイルの例を次に示します。

内容は次のようになります。

libxml2-devel [platform:rpm]
subversion [platform:rpm]
Copy to Clipboard Toggle word wrap

複数のコレクションからのエントリーは、1 つのファイルに統合されます。これは bindep により処理され、dnf に渡されます。プロファイルのない要件や、ランタイム要件がイメージにインストールされません。

2.7.2.4. イメージ

定義ファイルの images セクションでは、ベースイメージを指定します。署名付きコンテナーイメージの検証は、podman コンテナーランタイムでサポートされています。

次の表は、images で使用できる値のリストを示しています。

Expand
説明

base_image

自動化実行環境の親イメージを指定し、既存のイメージに基づいて新しいイメージをビルドできるようにします。これは通常、ee-minimal または ee-supported などのサポートされる実行環境ベースイメージですが、作成済みでさらにカスタマイズしたい実行環境イメージでも問題ありません。

コンテナーイメージが使用するには name キーが必要です。イメージがリポジトリー内でミラーリングされているが、イメージの元の署名キーで署名されている場合は、signature _original_name キーを指定します。イメージ名には、:latest などのタグが含まれている必要があります。

デフォルトのイメージは registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest です。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat