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を使用するためのタワーの準備#

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

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

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

  • TPAディレクトリ /opt/EDB/TPA をTower UIの[システム設定]ページの[CUSTOM VIRTUAL ENVIRONMENT PATHS]フィールドに追加します。

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は、このクラスターのリポジトリに独自のブランチを作成するため、そこに既に存在するブランチは関係ありません。これにより、すべてのクラスターに同じリポジトリを使用できます。

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 を設定します