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は、このクラスターのリポジトリに独自のブランチを作成するため、そこに既に存在するブランチは関係ありません。これにより、すべてのクラスターに同じリポジトリを使用できます。
クラスター構成 で説明しているように、
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を設定します新しいテンプレートに基づいてジョブを実行して、クラスターを展開します。