TPA and Ansible Tower/Ansible Automation Controller

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

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

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

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

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

Cluster configuration で説明されているtpaexec configure

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

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

  • config.ymlにはトップレベルのディクショナリ ansible_tower が含まれます。これにより、 tpaexec provision はクラスターをTowerクラスターとして扱います。

  • その他の変更が必要な場合は、config.ymlを編集します。

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

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

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

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

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

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