TPA and Ansible Tower/Ansible Automation Controller

TPAはRedHat Ansible Automation Controller(旧称Ansible Tower)で使用できます。スタンドアロンマシンで構成およびプロビジョニングの手順を実行し、クラスターをベアメタルとして扱い、結果のインベントリおよびその他の生成されたファイルをTowerにインポートします。

独自の仮想環境(tpa-venv)を含むTowerインスタンスへのTPAインストールは、Towerでのデプロイ手順に使用されます。

このドキュメントでは、Ansible Towerバージョン3.8.0に該当する手順について説明します。

TPAを使用するためのTowerの準備

TPA仮想環境のセットアップ

  • Towerサーバーの/opt/EDB/TPAの下にtpaexecをインストールします。これは、TPAがパッケージからインストールされる場合のデフォルトの場所です。

  • /opt/EDB/TPA/tpa-venv配下に仮想環境を作成するtpaexec setup を実行し、必要なパッケージをインストールします。

  • Tower UIの[システム設定]ページの[カスタム仮想環境パス]フィールドにTPAディレクトリ(/opt/EDB/TPA)を追加します。

TPA_2Q_SUBSCRIPTION_TOKEN資格情報タイプの作成

以下の説明に従って、「TPA_2Q_SUBSCRIPTION_TOKEN」というカスタム資格情報タイプを作成します。

  • Tower UIのCredentials Typeページに移動します。

  • 「NAME」フィールドを「TPA_2Q_SUBSCRIPTION_TOKEN」に設定します。

  • これを「INPUT CONFIGURATION」フィールドに貼り付けます。

fields:
- id: tpa_2q_sub_token
  type: string
  label: TPA_2Q_SUBSCRIPTION_TOKEN
required:
- tpa_2q_subscription_token
  • これを「INJECTOR CONFIGURATION」フィールドに貼り付けます。

env:
  TPA_2Q_SUBSCRIPTION_TOKEN: {{ tpa_2q_sub_token }}
  • 「SAVE」ボタンをクリックします。

クラスターのセットアップ

  • クラスターに使用する予定のホストがTowerインストールで認識されていること、SSH経由でそれらにアクセスできる資格情報があること、およびansible_host、public_ip、およびprivate_ipが設定されていることを確認します。

  • tpaexecがインストールされたマシンで、ホスト名のリストを1行に1つずつ含むファイルを準備します。

mercury
venus
mars
jupiter
saturn
neptune
  • tpaexec configure を実行します。

[tpa]$ tpaexec configure <clustername> \
         --platform bare \
         --use-ansible-tower https://aac.example.com/api \
         --tower-git-repository ssh://git@git.example.com/example \
         --hostnames-from <hostnamefile> \
         --architecture BDR-Always-ON \
         --layout bronze \
         --harp-consensus-protocol bdr \
         --postgresql 14

APIエンドポイントは現在受け入れられ、 config.ymlに追加されますが、使用されません。 gitリポジトリーは、クラスターデータをTowerにインポートするために使用されます。 tpaexecはこのクラスターのリポジトリに独自のブランチを作成するため、既にどのブランチが存在してもかまいません。 (これにより、すべてのクラスターに同じリポジトリを使用できます。)

クラスター構成 で説明されているtpaexec configure

の他のすべてのオプションは引き続き有効です。

これにより、クラスターの名前を付けたクラスターディレクトリが作成されます。

  • config.ymlにはトップレベルの辞書ansible_tower が含まれるようになり、tpaexec provision はクラスターをTowerクラスターとして扱います。

  • 他の変更を行う必要がある場合はconfig.ymlを編集します。

  • tpaexec provision を実行して、インベントリおよびその他の関連ファイルを生成します。

  • gitリポジトリを使用してTowerにプロジェクトを追加します。

  • プロジェクトからインベントリを外部ソースとしてインベントリに追加します。

  • Towerでテンプレートを作成し、TPA仮想環境、インベントリ、新しく作成したプロジェクトを指定します。また、ホストに到達するために必要な資格情報と、TPAサブスクリプショントークン(TPA_2Q_SUBSCRIPTION_TOKEN)を含む資格情報を含めます。

  • 1つの追加変数を設定します:tpa_dir: /opt/EDB/TPA

  • 新しいテンプレートに基づいてジョブを実行して、クラスターをデプロイします。