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新しいテンプレートに基づいてジョブを実行して、クラスターをデプロイします。