Instance configuration¶
このページでは、クラスターインスタンスでのデプロイプロセスをカスタマイズするためにTPAが提供するさまざまなコントロールの概要と、より詳細なドキュメントへのリンクを示します。
デプロイメントの詳細に進む前に、 an overview of configuring a cluster を読んで、 config.ymlのクラスター変数とインスタンス変数、およびその他のメカニズムがどのように連携して、簡潔で確認しやすい構成を作成できるかを理解すると役立つ場合があります。
システムレベルの構成¶
TPAは最初に、Pythonがブートストラップされ、Ansibleモジュール(ディストリビューション固有のプロセス)を実行する準備ができていることを確認します。次に、以下の Postgres configuration に進む前に、さまざまなシステムレベルの構成タスクを完了します。
パッケージリポジトリ¶
pre-deploy hook を使用できます
パッケージリポジトリが構成される前にタスクを実行します。
Configure YUM repositories
(RHEL、Rocky、AlmaLinuxの場合)
Configure APT repositories
(DebianおよびUbuntuの場合)
Configure 2ndQuadrant and EDB repositories
(任意のシステム)
Configure a local package repository
(パッケージをターゲットインスタンスに出荷するため)
post-repo hook を使用できます
パッケージリポジトリが構成された後にタスクを実行します(例、パッケージをインストールする前にリポジトリ構成の問題を修正します)。
パッケージのインストール¶
リポジトリが構成されると、システムパッケージのバッチから始めて、展開全体のさまざまな段階でパッケージがインストールされます。
Install non-Postgres packages
(例、acl、openssl、sysstat)
Postgresおよびその他のコンポーネント(例、 Barman、 repmgr、pgbouncer)は、クラスター構成に従って個別にインストールされます。これらについては、以下のそれぞれのセクションで文書化されています。
その他のシステムレベルのタスク¶
Create and mount filesystems (RAID、LUKSセットアップを含む)
Upload artifacts (ファイル、ディレクトリ、tarアーカイブ)
Set sysctl values
Configure /etc/hosts
Manage ssh_known_hosts entries
Postgres¶
Postgresの構成は、repmgrやpgbouncerなどの他のコンポーネントのセットアップと連携する拡張プロセスです。 Postgres自分自身をインストールすることから始まります。
バージョン選択¶
--postgres-version を使用する
configureオプションまたはconfig.ymlでpostgres_version
を設定して、インストールするPostgresメジャーバージョンを指定します。デフォルトのバージョンは現在11ですが、代わりに9.4、9.5、9.6、10、12、または13を選択できます。
動作するクラスターをセットアップするために必要なことはこれだけです。このページの他のすべてはオプションです。必要に応じて展開のすべての側面を制御できますが、デフォルトは開始点として適切なクラスターを提供するように注意深く調整されています。
インストール¶
デフォルトのpostgres_installation_method
では、アーキテクチャのニーズに応じて、選択したPostgresのバージョンのパッケージとさまざまな拡張機能をインストールします。
Install Postgres and Postgres-related packages
(例、 pglogical、 BDRなど)
Build and install Postgres and extensions from source
(開発・テスト用)
どちらのインストール方法を選択しても、TPAは最小限の労力で同じクラスター構成を提供できます。
構成¶
Configure the postgres Unix user
Run initdb to create the PGDATA directory
Configure pg_hba.conf
Configure pg_ident.conf
Configure postgresql.conf
postgres-config hook を使用できます
Postgres構成ファイルのインストール後にタスクを実行します(追加の構成ファイルをインストールするなど)。
Postgresの構成が完了すると、TPAはアーキテクチャの詳細に従って、 Barman、 repmgr 、 pgbouncer 、 haproxy などの他のコンポーネントのインストールと構成を行います。
その他のコンポーネント¶
Configure Barman
Configure pgbouncer
Configure haproxy
Configure HARP
Configure EFM
サービスの構成と開始¶
TPAは、各サービスのsystemdサービスユニットファイルをインストールします。
Postgresのサービスの名前はpostgres.service で、
systemctl start postgres で開始または停止できます。
最初のデプロイでは、Postgresサービスが開始されます。 tpaexec deploy
を再度実行している場合、行った構成の変更に応じて、サービスがリロードまたは再起動される場合があります。もちろん、サービスが既に実行されており、変更がない場合はそのままです。
いずれの場合も、このステップの最後にPostgresが実行されます。
Postgres起動後¶
Create Postgres users
Create Postgres tablespaces
Create Postgres databases
Configure pglogical replication
Configure .pgpass
postgres-config-final hook を使用できます
起動後のPostgres構成が完了した後にタスクを実行するため(たとえば、 SQLクエリを実行してオブジェクトを作成したり、データをロードしたりします)。
Configure BDR
post-deploy hook を使用できます
展開プロセスが完了した後にタスクを実行します。