ページの先頭行へ戻る
Enterprise Postgres 16 SP1 オペレーターユーザーズガイド

5.4 FEPPGPool2の構成の変更

FEPPGPool2の構成の変更について説明します。

FEPPGPool2の一覧表示

Kubernetesコマンド: kubectl get FEPPGPool2 (-A)

この操作では、名前空間内のすべてのFEPPGPool2が一覧表示されます。または、-Aオプションが指定されている場合は、すべての名前空間内のすべてのFEPPGPool2が一覧表示されます。

Default output format:

フィールド

詳細

Name

.metadata.name

pgpool2の名前


例)

# kubectl get feppgpool2 -A

NAMESPACE       NAME
namespace1      fep1-pgpool2
namespace2      fep2-pgpool2

FEPPGPool2の削除

Kubernetesコマンド: kubectl delete FEPPGPool2 <pgpool2_name>

この操作により、FEPPGPool2が削除されます。

FEPPGPool2の更新

Kubernetesコマンド: kubectl apply -f <new_spec>

“オペレーターリファレンス”の“FEPPgpool2カスタムリソースパラメータ”を参照して、更新するパラメータを指定します。以下のパラメータのみ指定可能です。

カスタムリソースの仕様

変更内容

.spec.count: n

クラスタ内のノードの数をnに増やします。

.spec.serviceport

Pgpool-IIに接続するためのTCPポートを変更します。

.spec.statusport

PCPプロセスに接続するためのTCPポートを変更します。

.spec.limits.cpu

CPUの制限を変更します。

.spec.limits.memory

メモリの制限を変更します。

.spec.requests.cpu

CPUのリクエストを変更します。

.spec.requests.memory

メモリのリクエストを変更します。

.spec.fepclustername

接続するFepClusterを変更します。

.spec.customhba

pool_hba.confファイルを変更します。

.spec.customparams

pgpool2パラメータを変更します。

.spec.custompcp

pcp.confファイルを変更します。

.spec.customsslkey

秘密鍵の内容を変更します。

.spec.customsslcert

x509公開鍵証明書の内容を変更します。.

.spec.customsslcacert

CAルート証明書の内容をPEM形式で変更します。


一部のcustomparamsパラメータ、customhbaおよびcustompcpでは、pgpool2を再起動する必要があります。

Kubernetesコマンド: Kubectl apply -f <new_spec>

「pgpool2_restart」アクションタイプでは、ユーザーが再起動するpgpool2の名前を指定する必要があります。

以下のように、FEPActionカスタムリソースのtargetPgpool2NameセクションでFEPPGPool2カスタムリソースのmetadata.Nameを指定します。

spec:
    targetPgpool2Name: fep1-pgpool2
    fepAction:
        type: pgpool2_restart

注意

FEPPGPool2を更新すると、FEPPGPool2のPodが再起動されます。複数のFEPPGpool2で構成されている場合、順番に再起動されます。接続が切断されるため、アプリケーションは接続を再接続するように設計する必要があります。

scram-sha-256認証を使用したクライアント認証に使用する各リソースの更新

新規データベースユーザーのパスワードを設定

データベースに新規ユーザーを追加した場合に、ユーザーとパスワードをFEPpgpool2コンテナに通知する必要があります。
この場合、既存のユーザーの情報に加えて、以下のように新規ユーザーの情報をシークレットに追記してください。

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque
data:
  user_name_1:cGFzc3dvcmRfMQ==
  user_name_2:cGFzc3dvcmRfMg==
  user_name_new:cGFzc3dvcmRfbmV3

シークレットの更新後、FEPpgpool2コンテナは自動でパスワードファイルpool_passwdの内容を更新します。
オペレーターが自動で作成したシークレットを編集して新規ユーザーの情報を追加する場合、postgresキーのエントリを削除してください。postgresキーのエントリが残存している場合、新規ユーザーの情報が反映されません。

既存のデータベースユーザーのパスワードを更新

FEPClusterコンテナでは、パスワード期限などの理由からデータベースユーザーのパスワードが更新される場合があります。
この場合、既存のユーザーの情報は維持したまま、更新したパスワードについて、以下のようにユーザー情報用シークレットを更新してください。

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque
data:
  user_name_1:cGFzc3dvcmRfMQ==
  user_name_2:cGFzc3dvcmRfMl9uZXc=

シークレットの更新後、FEPpgpool2コンテナは自動でパスワードファイルpool_passwdの内容を更新します。

暗号化用キーファイルpgpoolkeyを更新

暗号化用キーファイルpgpoolkeyを更新したい場合、暗号化キー用シークレットpgpoolkeySecretに定義しているシークレットの内容を更新します。

apiVersion: v1
kind: Secret
metadata:
  name: pgpoolkey-secret
type: Opaque
data:
  pgpoolkey:bmV3LXBncG9vbGtleXBhc3N3b3Jk

暗号化用キーファイルpgpoolkeyを更新する場合は、更新されたpgpoolkeyを使用して、再度、scram-sha-256による暗号化を行う必要があります。また、暗号化キー用シークレットの更新後は、pgpool2を再起動してください。
シークレットの更新後、FEPpgpool2コンテナは自動で、更新されたpgpoolkeyを使用して、パスワードファイルpool_passwdの内容を更新します。