TPA and Ansible Tower/Ansible Automation Controller#
TPAは、レッドハットアンシブルオートメーションコントローラAAPをサポートしています。 AAPでは、展開/アップグレードの手順のみが実行されます。 tpaパッケージがインストールされているスタンドアロンマシンで構成とプロビジョニングを実行します。結果のクラスターディレクトリは、AAPにインポートできます。サポートはベアメタルプラットフォームに制限されています。
Automation Platformの初期セットアップ#
TPAでは、AAPを使用してクラスターを展開する前に、次の手順を1回実行する必要があります。
TPA実行環境イメージの追加 管理者#
バージョン2.4以降、AAPはコンテナイメージを使用してAnsible Playbookを実行します。これらのコンテナは実行環境EEと呼ばれ、プレイブックが正常に実行するために必要な依存関係をバンドルしています。
!!!注 EDB顧客は、実行環境EEに関するヘルプについてEDBサポートに連絡できます。
AAP管理者として、使用可能なEEリストにEEイメージを指すエントリを作成します。
EDB_SUBSCRIPTION_TOKEN資格情報タイプを作成します admin#
AAP管理者は、以下の説明のようにカスタム資格情報タイプEDB_SUBSCRIPTION_TOKEN
を作成して、EDBサブスクリプションアクセストークンを保持します。
AAP UIの[ Credentials Type ]ページに移動します。
「NAME」フィールドを「EDB_SUBSCRIPTION_TOKEN」に設定します。次を「INPUT CONFIGURATION」フィールドに貼り付けます。
fields:
- id: tpa_edb_sub_token
type: string
label: EDB_SUBSCRIPTION_TOKEN
secret: true
required:
- tpa_edb_sub_token
次を「INJECTOR CONFIGURATION」フィールドに貼り付けます。
env:
EDB_SUBSCRIPTION_TOKEN: {{ tpa_edb_sub_token }}
変更を保存します。
新しく追加されたタイプEDB_SUBSCRIPTION_TOKEN
を使用して資格情報を作成します。
クラスターのセットアップ#
初期手順は、 tpaexecパッケージがインストールされているワークステーションで実行されます。
TPAワークステーションで#
構成#
次のオプションを含めてtpaexec configure コマンドを実行します
--platform bare 、--use-ansible-tower
、--tower-git-repository
[tpa]$ tpaexec configure <clustername> \
--platform bare \
--use-ansible-tower https://aac.example.com \
--tower-git-repository ssh://git@git.example.com/example \
--hostnames-from <hostnamefile> \
--architecture PGD-Always-ON \
--pgd-proxy-routing local \
--postgresql 16
--use-ansible-tower
は、その時点で使用されない場合でも、パラメーターとしてAAPアドレスを想定しています。
--tower-git-repository
は、クラスターデータをAAPにインポートするために使用されます。
TPAは、ブランチ名としてcluster_name
を使用して独自のブランチを作成します。これにより、すべてのクラスターに同じリポジトリを使用できます。
クラスター構成 で説明しているように、 tpaexec configure
の他のすべてのオプションは引き続き有効です。
config.ymlの変更#
config.ymlには、トップレベル辞書 ansible_tower が含まれており、
tpaexec provision はクラスターをAAP対応クラスターとして扱います。
config.ymlを編集し、各ノードにansible_host
および{private,public}_ip
が定義されていること、およびansible_hostがAAPによって解決可能な値に設定されていることを確認します。必要に応じて変更または追加を行います。
クラスター構成 を参照してください。
tpaexec provision
を実行して、インベントリおよびその他の関連ファイルを生成します。
AAP UIの場合#
プロジェクト#
gitリポジトリをソースとして使用して、AAPにプロジェクトを追加します。 tpa提供のイメージを使用するようにデフォルトのEEを設定します。
Allow Branch Override
は、単一のプロジェクトで複数のインベントリを使用しようとする場合に必要です。
インベントリ#
空のインベントリを追加し、プロジェクトを外部ソースとして使用して、インベントリファイルとしてinventory/00-cluster_name
を使用してデータを入力します。
Overwrite local variables from remote inventory source
は、AAPでTPAの制御の外部に追加変数を設定しない場合にもお勧めします。
資格情報#
vault
資格情報を作成します。ボールトのパスワードは、tpaワークステーションでtpaexec show-vault <cluster_dir>
を介して取得できます。
展開中にsshを介してインベントリノードに接続するために、マシン資格情報がAAPで利用できることを確認します。
テンプレートの作成#
プロジェクトとインベントリを使用するテンプレートを作成します。必要な資格情報を含めます。
Vault資格情報
EDB_SUBSCRIPTION_TOKEN資格情報
マシン資格情報
2つの追加変数を設定します。
tpa_dir: /opt/EDB/TPA
cluster_dir: /runner/project
プレイブックとしてdeploy.yml を選択します。
新しいテンプレートに基づいてジョブを実行して、クラスターを展開します。
複数のインベントリに1つのプロジェクトを使用する#
TPAは、関連するgitリポジトリのクラスターごとに異なるブランチ名を使用します。これにより、複数のクラスターで単一のプロジェクトを使用できます。
Allowブランチオーバーライドオプションを設定します#
AAPプロジェクトでAllow branch override option を有効にします。
複数のインベントリを定義する#
TPAは、gitリポジトリ内のクラスターごとに異なるブランチ名を使用します。同じプロジェクトをソースと使用して、複数のインベントリを生成できますが、インベントリごとにブランチをオーバーライドします。
インベントリーごとに資格情報を定義する#
これらはTPAクラスターごとに異なるため、ボールトのパスワードがインベントリーごとにそれに応じて設定されていることを確認します。
AAPでTPAを更新#
AAPでTPAの更新には、いくつかの追加手順が含まれます。
tpaワークステーションパッケージの更新#
OSに応じて、OSパッケージと同様にTPAワークステーションパッケージを更新します。 パッケージのインストール を参照してください。
同じバージョンタグでEEイメージを使用する#
AAPのEEイメージを変更して、使用されるワークステーションパッケージバージョンと同じバージョンタグを使用します。
クラスターディレクトリでtpaexec relinkを実行します#
tpaexec relink <cluster_dir>
を実行して、AAPを使用するクラスターが最新の状態であることを確認します。
relink コマンドによってコミットされた変更をプッシュしてください。
$ git status
On branch cluster_name
Your branch is ahead of tower/cluster_name by 1 commit.
(use "git push" to publish your local commits)
...
$ git push tower
プロジェクトとインベントリの同期#
AAP
UIでプロジェクトと関連インベントリがそれぞれUpdate revision on job launch
およびUpdate on launch
を使用するように設定されていない場合、同期します。 !!!