IBM Cloud Docs
Ansible Playbook の作成

Ansible Playbook の作成

以下の前提条件および一般的な手順に従って、Ansible プレイブックを作成します。 プレイブックの構成方法について詳しくは、 Ansible の資料 または プレイブックの作成を参照してください。

既存の Ansible Playbook を使用して開始する場合は、 IBM Ansibleのプレイブック を試すか、 Ansible で既存の Ansible コレクションやロールを参照してください

  1. Ansible Playbook を実行するリソース・インベントリーを作成します。 Schematics の組み込みの Terraform 機能を使用してターゲット・ホストをプロビジョンすることもできます。 詳しくは、Schematics ワークスペースを使用したインフラストラクチャーのデプロイメントを参照してください。

  2. Ansible Playbook を作成します。 IBMプレイブック のいずれかを使用して開始するか Ansible を参照して既存のロールやコレクションを検索します。 それらの役割コレクションを Playbook で参照することができます。

  3. GitHub または GitLab でリポジトリーを作成し、Ansible Playbook のディレクトリーとファイルの構造を構築します。 Ansible のロールとコレクションを使用するかどうか次第で、このディレクトリー構造が異なる場合があります。 サンプル構造を見つけるには、この サンプル・プレイブックを参照してください。

  4. Ansible Playbook、モジュール、役割、コレクションを GitHub リポジトリーにアップロードします。

  5. Schematics アクションを作成します

Playbook での Ansible コレクションの参照

Ansible コレクションは、Playbook、モジュール、役割などの再利用可能なさまざまな Ansible リソースを、ユーザーがインストールして Playbook で使用できるように、グループとしてまとめたものです。 コレクション Ansible のリポジトリに保存されます。

Ansible 役割と同様、コレクションには、GitHub リポジトリー内の特定のフォルダー構造が必要となります。

  1. Ansible を参照して、プレイブックで使用したいコレクションを見つけます。

  2. requirements.yml ファイルを作成し、そこに Ansible Galaxy からインストールするコレクションを指定します。 このファイルの構造に関する詳細は Ansibleを参照してください。 次の例では、community.kubernetes コレクションを使用します。

    collections:
      - name: community.kubernetes
        version: 0.9.0
    
  3. 次の例に示すように、Playbook に関連する GitHub リポジトリーに collections フォルダーを追加し、このフォルダーに requirements.yml ファイルを保管します。

    ├── collections
            └── requirements.yml
    ├── playbook.yaml
    ├── README.md
    
  4. Playbook でコレクションのリソースを参照します。 詳細は、 Ansibleのドキュメントを参照してください

Schematics で実行する Ansible Playbook の準備

Schematics 用に Ansible Playbook を準備する際は、以下の考慮事項を確認してください。

  • Ansible Playbook は、GitHub または GitLab のリポジトリーに保管する必要があります。
  • Ansible リソースのインベントリーのターゲット・ホストを指定する方法には制限があります。 詳しくは、Schematics アクションのリソース・インベントリーの作成を参照してください。
  • すべての Playbook には、Schematics でサポートされている Ansible バージョンを使用して実行するための適合性がなければなりません。 サポート対象のバージョンを見つけるには、ibmcloud schematics version コマンドを実行します。
  • オプションで、Schematics の Ansible プレイブック機能を検討するには IBM提供の Ansible プレイブックのいずれかを使用してみることができます。