tpaexec deploy

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

展開段階の最後に、 Postgresは repmgr 、 Barman、 pgbouncer などの他のコンポーネントとともに起動して実行されます(選択したアーキテクチャによって異なります)。

前提条件

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

デプロイする前に、export TPA_2Q_SUBSCRIPTION_TOKEN=xxx して、サブスクリプションが必要な2ndQuadrantリポジトリを有効にする必要があります。

DebianまたはUbuntuにリポジトリを追加し、TPAをインストールする 自分自身に使用したサブスクリプショントークンを使用できます。これを忘れた場合、エラーメッセージがすぐにあなたに思い出させます。

クイックスタート

[tpa]$ 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 にも記録されます。

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

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

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

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

選択的展開

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

[tpa]$ tpaexec deploy ~/clusters/speedy -v -e deploy_hosts=keeper,quaver

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

( deploy_hosts の設定は、TPAでサポートされていないAnsibleの--limit オプションを使用する代わりに推奨される方法です。)

deploy.yml

展開プロセスはアーキテクチャ固有です。これが、さまざまな configuration settings that affect the deployment の概要です。 Ansible Playbookに精通している場合は、 tpaexec がクラスターのインスタンスにさまざまなロールを適用する手順をたどることができます。

config.ymlとは異なり、 deploy.ymlは編集するように設計されていません(通常はアーキテクチャディレクトリへのリンクです)。デプロイメントプロセスを拡張して独自のAnsibleタスクを実行する場合でも、

までに行う必要があります。これにより、特定のアーキテクチャ内での将来の実装の変更から保護されます。