本文へ移動

他のツールとの統合

Patroniを外部のバックアップおよびオーケストレーションツールと統合する。

Patroniは、スタック内の他のツールと統合できます。このセクションでは、Patroniが他のツールと統合する方法についてのアイデアを提供する例を示します。ただし、すべての例を網羅しているわけではありません。


Barman

Patroniはpatroni_barmanというアプリケーションを提供しており、pg-backup-apiと通信するためのロジックを備えているため、リモートでBarman操作を実行できます。

このアプリケーションには現在、recoverとconfig-switchの2つのサブコマンドがあります。

patroni_barman recover

recoverサブコマンドは、カスタムブートストラップまたはカスタムレプリカ作成方法として使用できます。詳細については、レプリカの作成とブートストラップ を参照してください。

patroni_barman config-switch

config-switchサブコマンドは、Patroniにおけるon_role_changeコールバックとして使用されるように設計されています。たとえば、現在のプライマリーからBarmanホストへのWALのストリーミングを実行しているとします。クラスターでのフェイルオーバーが発生した場合、新しいプライマリーからWALのストリーミングを開始したいとします。この目的を達成するには、patroni_barman config-switchをon_role_changeコールバックとして使用できます。

注記

このサブコマンドは、barman config-switchコマンドに依存しており、このコマンドは事前に定義されたモデルを適用することで、Barmanサーバーの設定を上書きする役割を担います。このコマンドはBarman 3.10以降で利用可能です。詳細についてはBarmanのドキュメントを参照してください。

この例は、このPatroniノードがプライマリーに昇格した場合に設定モデルを適用するよう、Patroniを構成する方法を示しています。

postgresql:
    callbacks:
        on_role_change: >
            patroni_barman
                --api-url YOUR_API_URL
                config-switch
                --barman-server YOUR_BARMAN_SERVER_NAME
                --barman-model YOUR_BARMAN_MODEL_NAME
                --switch-when promoted
注記

patroni_barman config-switchでは、Barmanとpg-backup-apiをBarmanホストに設定しておく必要があります。これにより、バックアップAPIを通じてリモートのbarman config-switchを実行できるようになります。また、適用するBarmanモデルを事前に設定しておく必要があります。上記の例では利用可能なパラメータの一部を使用しています。詳細な情報はpatroni_barman config-switch --helpを実行するか、Barmanのドキュメントを参照してください。