ページの先頭行へ戻る
Enterprise Postgres 15 オペレーターリファレンス

1.2.10 FEPActionカスタムリソースパラメータ

以下の形式でパラメータを指定してください。

カスタムリソースの仕様

省略値

エフェクトの変更

.spec.targetClusterName

メタデータで指定された名前空間内のターゲットFEPクラスタ名を指定する必要があります。

.spec.targetPgpool2Name

pgpool2_restartを使用する場合は、メタデータで指定された名前空間内のターゲットFEPPgpool2の名前を指定する必要があります。

.spec.fepAction.type

アクションタイプを指定する必要があります。

サポートされるアクションタイプは以下のとおりです。

restart
pod_restart
reload
list
switchover
failover
pgpool2_restart
backup
open_tde_masterkey
create_extention
update_admin_password

.spec.fepAction.args

指定したアクションに必要な引数を指定する必要があります。各アクションに対応する引数の詳細は、“1.2.10.1 FEPAction固有の操作の詳細”を参照してください。

.spec.fepAction.backupType

full

オプション

fepAction.typeにbackupを指定したとき、backupのタイプをします。

full : フルバックアップを実行します(データベースクラスタの内容をバックアップします)。

incr : 増分バックアップを実行します(最後のバックアップ移行時に変更されたデータベースクラスタファイルのみをバックアップします)。

.spec.fepAction.backupRepo

1

オプション

指定されたレポジトリでバックアップを取得します。

1-256の範囲で指定可能です。

.spec.sysExtraLogging

追加のデバッグをオンにするには、値をtrueに設定します。

いつでもオン/オフを切り替えることができます。

FEPActionカスタムリソースの実行後、必要に応じて現在のFEPActionカスタムリソースに動的に挿入されるfepStatusフィールドにステータスが反映されます。

ここでは、FEPActionカスタムリソースで使用されるfepStatusフィールドについて説明します。

fepStatus (指定可能な値を含む)

備考

fepActionStatus:

fepStatusがFEPActionカスタムリソースの先頭に挿入されます。

fepActionCondition: Success | Failure

このフラグは、要求されたアクションの成功または失敗を反映するためにfepActionカスタムリソースに挿入されます。

fepActionResult: >
“details”

結果には、実行された特定のアクションに対応する詳細情報が含まれます。これはHTTP出力のプレーンテキストであることに注意してください。

processedTimestamp: <time stamp>

オペレータによるアクションの実行時間を示します。


apiVersion: fep.fujitsu.io/v1
kind: FEPAction
fepActionStatus:
 fepActionCondition: Success
metadata:
 name: new-fep-reload-action
 namespace: myns
spec:
 fepAction:
  args:
  - new-fep-sts-0
  - new-fep-sts-1
  type: reload
 sysExtraLogging: false
 targetClusterName: new-fep

注意

  • バックアップの実行中に、FEPActionを使用してスイッチオーバーや再起動を実行しないでください。バックアップの取得に失敗します。

  • FEPActionカスタムリソースは、各操作のたびに新規に作成する必要があります。

1.2.10.1 FEPAction固有の操作の詳細

アクションタイプ - reload

reloadアクションは、ターゲットのFEPCluster上のFEPデータベースを手動でリロードします。

“reload”アクションタイプでは、データベースの再ロード操作を実行する個々のFEP Podの名前を指定する必要があります。

FEPActionカスタムリソース仕様のargsセクションで、以下のように指定します。

spec:
fepAction:
 args:
 - nf-131851-sts-0
 - nf-131851-sts-1
 type: reload
 targetClusterName: nf-131851

アクションタイプ - restart

restartアクションは、ターゲットのFEPCluster上のFEPデータベースを手動で再起動します。

“restart”アクションタイプでは、データベースの再起動操作を実行する個々のFEP Podの名前を指定する必要があります。

FEPActionカスタムリソース仕様のargsセクションで、以下のように指定します。

spec:
fepAction:
 args:
 - nf-131851-sts-0
 - nf-131851-sts-1
 type: restart
 targetClusterName: nf-131851

アクションタイプ - pod_restart

pod_restartアクションは、指定されたターゲットクラスタの指定されたPodリストを再起動します。“args”セクションにキーワード“ALL”を指定すると、ターゲットクラスタ内のすべてのPodを再起動できます。あるいは、ターゲットクラスタで開始するPodのリストを指定することもできます。ユーザーはALLまたはPodのリストを指定する必要があります。

このアクションは、最初にレプリカPodを再起動します。

すべてのレプリカが再起動されると、古いマスターPodを再起動する前に、マスター権がレプリカの1つに切り替わります。

単一ノードクラスタの場合、マスターは現在の状態で再起動されます。

このアクションは、イメージまたはマシンの仕様がFEPClusteカスタムリソースのautoPodRestartフラグに応じてfepまたはバックアップコンテナに対して変更された場合にPodを再起動するために自動的に作成されます (詳細は、“FEPClusterカスタムリソースパラメータ”を参照してください) 。

spec:
fepAction:
args:
 - nf-131851-sts-0
 - nf-131851-sts-1
 type: pod_restart
 targetClusterName: nf-131851

アクションタイプ - list

listアクションは、ターゲットのFEPClusterのステータスを返します。

“list”アクションタイプでは、ターゲットクラスタ名のみを指定して、その詳細をリストする必要があります。以下のようになります。

spec:
fepAction:
 type: list
 targetClusterName: nf-131851

アクションタイプ - switchover

switchoverアクションは、現在のリーダー/プライマリデータベースを、あるPodからターゲットのFEPClusterの別のPodに手動でスイッチオーバーします。

“switchover”アクションタイプでは、ユーザーがスイッチオーバーを実行するターゲットクラスタの名前を指定する必要があります。argsセクションはスイッチオーバーには必要ありません。FEPAction演算子コードが内部的にそれを見つけて新しいマスターをプロモートします。以下のようになります。

spec:
fepAction:
 type: switchover
 targetClusterName: nf-131851

アクションタイプ - failover

failoverアクションは、現在のプライマリデータベースを、ターゲットのFEPClusterのあるPodから別のPodに手動でフェイルオーバーします。

スイッチオーバーとフェールオーバーの違いは、スイッチオーバーではその時点でプライマリデータベースが実行されていると想定されるのに対し、フェールオーバーではプライマリロールを非応答Podから別のPodに強制的にスイッチオーバーできます。

フェイルオーバーは停止を伴う処理であり、データが失われる可能性があるので注意してください。

“failover”アクションタイプでは、フェイルオーバー先の候補Podの名前を指定する必要があります。

FEPActionカスタムリソース仕様のargsセクションで、以下のように指定します。

spec:
fepAction:
 args:
 - nf-131851-sts-1
 - nf-131851-sts-2
 type: failover
 targetClusterName: nf-131851

ここでは、nf-131851-sts-1およびnf-131851-2は、フェールオーバー先の候補Podです。この例では、現在のプライマリポッドはnf-131851-sts-0になります。

アクションタイプ - pgpool2_restart

"pgpool 2_restart"アクションタイプでは、ユーザーが操作を再開する個々のFEPPgpool 2リソースの名前を指定する必要があります。

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

spec:
fepAction:
 type: pgpool2_restart
 targetPgpool2Name: nf-131851-pgpool2

アクションタイプ - backup

"backup"アクションでは、ターゲットのFEPClusterでバックアップを実行します。

"backup"アクションタイプでは、バックアップのタイプとデータを格納するレポジトリを指定する必要があります。

FEPActionカスタムリソース仕様のfepActionセクションで、以下のように指定します。

spec: 
  targetClusterName: new-fep 
  fepAction:  
    type: backup 
    backupType: full 
    backupRepo: 1

注意

  • バックアップの実行方法(スケジュール実行またはFEPAction)に問わず、同じFEPClusterで同時にバックアップが実行された場合、後から実行されたバックアップは処理に失敗します。

  • FEPClusterカスタムリソースのspec.fepChildCrVal.backup.pgbackrestParamsにバックアップレポジトリのRetention Optionが指定されている場合、FEPActionで取得されたバックアップファイルもオプションの指定に従い削除されます。

アクションタイプ - open_tde_masterkey

open_tde_masterkeyアクションは、TDEが有効になっているターゲットクラスタに対してキーストアのオープンを実行します。

“open_tde_masterkey”アクションタイプでは、ユーザーがキーストアのオープンを実行するターゲットクラスタの名前を指定する必要があります。argsセクションは必要ありません。
以下のように指定します。

spec:
  targetClusterName: nf-131851
  fepAction:
    type: open_tde_masterkey

アクションタイプ - create_extention

create_extentionアクションは、ターゲットのFEPCluster上で”CREATE EXTENTION”を実行し拡張をインストールします。

fepAction.argsでインストールする「拡張の名前、バージョン」、「データベース」、「スキーマ」、「CASCADEオプションの適用」を指定します。

argsで指定するパラメータ

説明

extension

必須

インストールする拡張とバージョンを指定します。

version

オプション

VARSIONオプションに指定する、拡張のバージョンを指定します。
省略された場合は、VARSIONオプションを省略します。

database

オプション

インストールするデータベースを指定します。
省略された場合は、“postgres”データベースにインストールします。

schema

オプション

SCHEMAオプションに指定する、インストールするスキーマを指定します。
省略した場合はSCHEMAオプションを省略します。

cascade

オプション

true or false
CREATE EXTENTIONのCASCADEオプションを有効にするかを選択できます。
省略された場合は、falseです。

下記に指定例を示します。

spec: 
targetClusterName: new-fep
fepAction: 
args: 
type: create_extention
  extension:  “vci”
         version: “2.0”
         database: “mydb”
         schema: “public”
         cascade: “true”

アクションタイプ - update_admin_password

update_admin_passwordアクションは、ターゲットのFEPCluster上のSUPERUSER”postgres”のパスワードをランダムな値で再定義します。

FEPClusterカスタムリソースのspec.fepChildCrVal.sysUsers.pgAdminPasswordが定義されていないとき、このアクションは実行されます。

下記に指定例を示します。

spec: 
fepAction: 
type: update_admin_password
targetClusterName: new-fep