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
にも記録されます。
ホスト、タスク、および変更されたタスクの正確な数は、もちろん異なる場合があります。
applyコマンドは自分自身にオプションを取りません。クラスター名の後に指定したオプションは、変更せずに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プレイブックに精通している場合は、 tpaexecがクラスターのインスタンスにさまざまなロールを適用するのを理解することができます。
- config.ymlとは異なり、deploy.ymlは編集するように設計されておらず、通常はアーキテクチャディレクトリへのリンクです。独自のAnsibleタスクを実行するようにデプロイメントプロセスを拡張する場合でも、
によってこれを行う必要があります。これにより、特定のアーキテクチャ内の将来の実装の変更から保護されます。