Ansible Playbook の作成
以下の前提条件および一般的な手順に従って、Ansible プレイブックを作成します。 プレイブックの構成方法について詳しくは、 Ansible の資料 または プレイブックの作成を参照してください。
既存の Ansible Playbook を使用して開始する場合は、 IBM Ansibleのプレイブック を試すか、 Ansible で既存の Ansible コレクションやロールを参照してください
-
Ansible Playbook を実行するリソース・インベントリーを作成します。 Schematics の組み込みの Terraform 機能を使用してターゲット・ホストをプロビジョンすることもできます。 詳しくは、Schematics ワークスペースを使用したインフラストラクチャーのデプロイメントを参照してください。
-
Ansible Playbook を作成します。 IBMプレイブック のいずれかを使用して開始するか Ansible を参照して既存のロールやコレクションを検索します。 それらの役割と コレクションを Playbook で参照することができます。
-
GitHub または GitLab でリポジトリーを作成し、Ansible Playbook のディレクトリーとファイルの構造を構築します。 Ansible のロールとコレクションを使用するかどうか次第で、このディレクトリー構造が異なる場合があります。 サンプル構造を見つけるには、この サンプル・プレイブックを参照してください。
-
Ansible Playbook、モジュール、役割、コレクションを GitHub リポジトリーにアップロードします。
Playbook での Ansible コレクションの参照
Ansible コレクションは、Playbook、モジュール、役割などの再利用可能なさまざまな Ansible リソースを、ユーザーがインストールして Playbook で使用できるように、グループとしてまとめたものです。 コレクション Ansible のリポジトリに保存されます。
Ansible 役割と同様、コレクションには、GitHub リポジトリー内の特定のフォルダー構造が必要となります。
-
Ansible を参照して、プレイブックで使用したいコレクションを見つけます。
-
requirements.yml
ファイルを作成し、そこに Ansible Galaxy からインストールするコレクションを指定します。 このファイルの構造に関する詳細は Ansibleを参照してください。 次の例では、community.kubernetes
コレクションを使用します。collections: - name: community.kubernetes version: 0.9.0
-
次の例に示すように、Playbook に関連する GitHub リポジトリーに
collections
フォルダーを追加し、このフォルダーにrequirements.yml
ファイルを保管します。├── collections └── requirements.yml ├── playbook.yaml ├── README.md
-
Playbook でコレクションのリソースを参照します。 詳細は、 Ansibleのドキュメントを参照してください
Schematics で実行する Ansible Playbook の準備
Schematics 用に Ansible Playbook を準備する際は、以下の考慮事項を確認してください。
- Ansible Playbook は、GitHub または GitLab のリポジトリーに保管する必要があります。
- Ansible リソースのインベントリーのターゲット・ホストを指定する方法には制限があります。 詳しくは、Schematics アクションのリソース・インベントリーの作成を参照してください。
- すべての Playbook には、Schematics でサポートされている Ansible バージョンを使用して実行するための適合性がなければなりません。 サポート対象のバージョンを見つけるには、
ibmcloud schematics version
コマンドを実行します。 - オプションで、Schematics の Ansible プレイブック機能を検討するには IBM提供の Ansible プレイブックのいずれかを使用してみることができます。