tpaexec deploy#

展開は、クラスターのサーバーにPostgresおよびその他のソフトウェアをインストールおよび構成するプロセスです。これには、レプリケーション、バックアップなどの設定が含まれます。

展開ステージの最後に、Postgresは、 repmgr、 Barman、pgbouncerなどの他のコンポーネントとともに実行されます選択したアーキテクチャに応じて。

前提条件#

tpaexec deploy を実行する前に、 クラスター構成 を実行してクラスター構成を生成し、 tpaexec provision でサーバーをプロビジョニングしておく必要があります。

Configuring EDB Repos 2.0 repositories を使用している場合は、展開の前に export EDB_SUBSCRIPTION_TOKEN=xxx を行う必要があります。これを忘れた場合、エラーメッセージがすぐに思い出させます。

クイックスタート#

tpaexec deploy ~/clusters/speedy -v
Using /opt/EDB/TPA/ansible/ansible.cfg as config file

PLAY [Basic initialisation and fact discovery]  ****  ****  ****  ****  ****  ****  ****  ****  ****  ***
...

PLAY [Set up TPA cluster nodes]  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  **** **
...

PLAY RECAP  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ****  ***
zealot                     : ok=281  changed=116  unreachable=0    failed=0
keeper                     : ok=284  changed=96   unreachable=0    failed=0
quaver                     : ok=260  changed=89   unreachable=0    failed=0
quavery                    : ok=260  changed=88   unreachable=0    failed=0
quirk                      : ok=262  changed=100  unreachable=0    failed=0

real    7m1.907s
user    3m2.492s
sys     1m5.318s

このコマンドは、大量の出力を生成し、時間がかかる場合があります主に、tpaexecを実行しているホストとクラスター内のホスト間の遅延、およびインスタンスがインストールする必要があるパッケージをダウンロードするのにかかる時間によって異なります。 。デプロイメント中に少なくとも1つの-v を使用することをお勧めします。出力は、クラスターディレクトリのansible.log にも記録されます。

ホスト、タスク、および変更されたタスクの正確な数は、もちろん異なる場合があります。

applyコマンドは自分自身にオプションを取りません。クラスター名の後に指定したオプションは、変更せずにAnsible -v などに渡されます。

Ansibleに慣れている人は、時折赤い「failed」タスク出力がスクロールするのを心配するかもしれません。プロセスがその後すぐに停止しない場合、エラーは重要ではなく、コードは自動的に回復しますのでご安心ください。

デプロイが完了したら、 tpaexec test を実行してインストールを確認できます。

選択的な展開#

deploy_hosts をインスタンス名のコンマ区切りリストに設定することにより、展開をホストのサブセットに制限できます。

tpaexec deploy ~/clusters/speedy -v -e deploy_hosts=keeper,quaver

これにより、指定されたインスタンスで展開が実行されますが、最初に他のホストでいくつかのタスクを実行して、クラスターの状態に関する情報を収集します。

deploy_hosts 設定は、TPAがサポートしていないAnsibleの--limit オプションを使用することに代わる推奨される代替品です。

deploy.yml#

展開プロセスはアーキテクチャ固有です。次に、さまざまな Instance configuration の概要を示します。 Ansibleプレイブックに精通している場合は、 tpaexecがクラスターのインスタンスにさまざまなロールを適用するのを理解することができます。

config.ymlとは異なり、deploy.ymlは編集するように設計されておらず、通常はアーキテクチャディレクトリへのリンクです。独自のAnsibleタスクを実行するようにデプロイメントプロセスを拡張する場合でも、 TPA hooks によってこれを行う必要があります。これにより、特定のアーキテクチャ内の将来の実装の変更から保護されます。