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タスクを実行する場合でも、
までに行う必要があります。これにより、特定のアーキテクチャ内での将来の実装の変更から保護されます。