Configuration as Code
設定ファイルを使用した Ansible Automation Platform Controller の設定と管理
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com からテクニカルサポートに連絡してリクエストを送信してください。
第1章 Configuration as Code 用の自動化環境のセットアップ リンクのコピーリンクがクリップボードにコピーされました!
Configuration as Code は、Web UI をクリックする代わりに、バージョン管理された設定ファイル (YAML や JSON など) を使用して Ansible Automation Platform 自体の設定を定義および管理する方法です。
Ansible コンテンツ開発者は、Configuration as Code アプローチを使用して自動化コントローラーに設定を適用できます。このアプローチには、次のような利点があります。
- 予測可能なジョブの挙動
- 新規クラスターへの容易かつ迅速なスケーリング
- バージョン管理への対応が実現する差分とロールバック機能を備えた変更履歴
- 障害や移行後の迅速な復旧
- CI/CD パイプラインとプルリクエストを通じた変更 (ピアレビューおよび自動テストが適用される) によるエラーリスクの軽減
前提条件
- Git アカウントがある。
- プラットフォームゲートウェイインスタンスにアクセスできる。
-
独自の実行環境をビルドして登録した。または、
ansible.platformコレクションを使用する Playbook を実行するために使用できるサポート対象の実行環境がある。詳細は、実行環境の作成と使用 を参照してください。
手順
- 新しい Git リポジトリーを作成します。
ローカルマシンで、プラットフォームゲートウェイのパスワードを暗号化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のステップで使用する
aap_password変数の値を暗号化しました。Ansible Automation Platform に接続するための変数と、ロールベースのアクセス制御 (RBAC) オブジェクトを作成するための変数を格納した
/my_ansible_project/vars/all.ymlファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /my_ansible_project/RBAC_settings.ymlPlaybook を作成します。この Playbook は、RBAC オブジェクトを作成し、それらのオブジェクトにロールを割り当てます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この Playbook 内の多くの値は、オブジェクト名、その詳細、Ansible Automation Platform 認証情報などの変数形式で提供されます。Ansible プロジェクト内のすべてのファイルで変数を簡単に再利用できるため、プロジェクトの作成と保守が単純化され、エラーの数も減ります。
これらの変数の拡張された値を確認するには、
all.ymlファイルを参照してください。モジュールパラメーター、デフォルト値、モジュールの使用方法の詳細な例は、Automation Hub の ansible.platform コレクションのリソースを参照してください。後で Automation Controller が正しいデータを読み取ることができるように、変数と Playbook を Git リポジトリーにプッシュします。
git add . git commit -m "Provide variables and RBAC_settings.yml playbook resources for Ansible Automation Platform project" git push origin _<relevant_branch_name>_
git add . git commit -m "Provide variables and RBAC_settings.yml playbook resources for Ansible Automation Platform project" git push origin _<relevant_branch_name>_Copy to Clipboard Copied! Toggle word wrap Toggle overflow プラットフォームゲートウェイ UI を使用して、次の値を持つ新規プロジェクトを作成します。
- Name: Platform collection testing
-
Description: Automation resources to test the CaC capability of RBAC modules from the
ansible.platformcollection -
Execution Environment:
ee-supported - Organization: Default
- Source Control Type: Git
Source Control URL: https://my_git_url/my_git_repository/my_ansible_project
暗号化された
aap_password変数の Ansible Vault パスワードの認証情報を作成します。- Name: aap_password_vault
-
Description: Holds vault password for decrypting the value of the
aap_passwordvariable - Credential type: Vault
Vault Password: <vault_password>
次の値を持つジョブテンプレートを作成します。
- Name: RBAC_settings
- Description: Create organization, team, user, and custom role RBAC objects.Assign a pre-existing role to the created team and assign a pre-existing role to the created user.
- Job type: Run
- Inventory: Demo Inventory
- Project: Platform collection testing
-
Playbook:
RBAC_settings.yml -
Execution Environment:
ee-supported Credentials: aap_password_vault | Vault
RBAC_settingsジョブテンプレートを起動します。テンプレートジョブが正常に終了すると、出力は次のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力メッセージには、ジョブテンプレートを 1 つのターゲット (ローカルホスト) に対して実行したことが示されます。同時に、以下が作成されました。
- 組織。
- 作成された組織内に存在するチーム。チームには、何らかの既存ロールが割り当てられています。
- 作成された組織内に存在するユーザー。ユーザーには、何らかの既存のロールが割り当てられています。
- カスタムロール。
検証
ナビゲーションパネルで、作成した組織が表示されていることを確認します。
作成したチームが組織に属しており、正しい既存ロールが割り当てられていることを確認します。
作成したユーザーが組織に属しており、正しい既存ロールが割り当てられていることを確認します。
作成したカスタムロールが表示され、
RBAC_settings.ymlPlaybook で指定したとおりの権限が割り当てられていることを確認します。