以下の形式でパラメータを指定してください。
カスタムリソースの仕様 | 省略値 | エフェクトの変更 |
---|---|---|
.spec.targetClusterName | メタデータで指定された名前空間内のターゲットFEPクラスタ名を指定する必要があります。 | |
.spec.targetPgpool2Name | pgpool2_restartを使用する場合は、メタデータで指定された名前空間内のターゲットFEPPgpool2の名前を指定する必要があります。 | |
.spec.fepAction.type | アクションタイプを指定する必要があります。 サポートされるアクションタイプは以下のとおりです。 restart | |
.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: > | 結果には、実行された特定のアクションに対応する詳細情報が含まれます。これは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カスタムリソースは、各操作のたびに新規に作成する必要があります。
アクションタイプ - 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オプションに指定する、拡張のバージョンを指定します。 |
database | オプション インストールするデータベースを指定します。 |
schema | オプション SCHEMAオプションに指定する、インストールするスキーマを指定します。 |
cascade | オプション true or 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
アクションタイプ - backup_expire
FEPPodに対して“pgbackrest expire”コマンドを実行し期限切れのバックアップを削除することができます。
“pgbackrest expire”コマンドは通常バックアップ成功時に自動で実行されますが、バックアップの保持世代数の定義を削減した際などにユーザが実行し、変更した定義に従った保持数になるようバックアップデータを削除することができます。
バックアップの保持世代数を削減しディスク容量を開放する場合は、FEPClusterカスタムリソースのfepChildCrVal.backup.pgbackrestParams配下のバックアップデータのリテンション設定を変更した後に、FEPActionの“backup_expire”をアプライしてください。
args.repoを指定することで、バックアップを削除するリポジトリを指定することができます。
argsで指定するパラメータ | 説明 |
---|---|
repo | オプション 指定値: integer バックアップを削除するリポジトリを番号で指定します。 省略された場合は、全てのバックアップリポジトリに対して、バックアップの削除を実行します。 |
注意
バックアップのリポジトリの番号はFEPClusterカスタムリソースのspec.fepChildCrVal.backup.pgbackrestParamsで定義されている、repoN-typeのNを指定してください。
まず、FEPClusterカスタムリソースのバックアップデータのリテンション設定変更例を下記に示します。
S3に格納しているバックアップの世代数を削減したい場合
spec: fepChildCrVal: backup: pgbackrestParams: repo2-type=s3 repo2-retention-full=5 # 保持したい世代数に書き換えます repo2-retention-full-type=time
バックアップ世代数を削減するFEPActionカスタムリソースの例を下記に示します。
s3のバックアップリポジトリはpgbackrestParamsのrepo2-typeに指定されているため、spec.fepActoin.repoには2を指定します。
apiVersion: fep.fujitsu.io/v1 kind: FEPAction metadata: name: backup-expire-action spec: targetCluster: new-fep fepAction: type: backup_expire args: repo: 2
アクションタイプ - promote_standby
promote_standbyは災害対策環境のFEPデータベースをStandby DBからPrimary DBへと昇格させます。昇格させるDBクラスタを指定する必要があります。
下記に指定例を示します。
spec: fepAction: type: promote_standby targetClusterName: my-fep
アクションタイプ - fixed_stats
fixed_statsアクションは、ターゲットのFEPClusterに対して統計情報の操作(pg_dbms_stats)を実行します。
fixed_statsアクションでは、pg_dbms_statsで実行できる操作を指定する必要があります。spec.fepAction.argsにfixedStatsType: <操作タイプ>を記述してください。操作タイプに応じて、さらに必須の引数とオプションの引数があります。以下の表を参考に記述してください。
操作タイプ | 必須引数 | オプション引数 |
---|---|---|
backup | なし | targetDb: ターゲットのデータベース |
restore | targetDb: ターゲットのデータベース | timestampを定義した場合のみ、スキーマ以降のオブジェクトを指定することが可能です。 fiexdObject: myschema.mytable.myclomun |
purge | backupId: バックアップID | 削除フラグを指定できます。 |
lock | targetDb: ターゲットのデータべース | fixedObject: スキーマ以降のオブジェクト名 |
unlock | targetDb: ターゲットのデータべース | fixedObject: スキーマ以降のオブジェクト名 |
cleanup | targetDb: ターゲットのデータべース | なし |
import | targetDb: ターゲットのデータべース | fixedObject: スキーマ以降のオブジェクト名 |
export | targetDb: ターゲットのデータべース
| fixedObject: スキーマ以降のオブジェクト名 |
プロトコル | 必要な引数 | 説明 |
---|---|---|
s3, gcs | url | オブジェクトストレージのURL |
blob | azureBlobName | 統計情報のバイナリファイルのBLOB名 |
azureContainerName | Azureストレージアカウントのコンテナ名 | |
local | file | 統計情報がExport/Importされるファイルの名前を指定してください。 |
下記に指定例を示します。
apiVersion: fep.fujitsu.io/v1 kind: FEPAction metadata: name: fep-action-firxdStats spec: fepAction: targetClusterName: new-fep type: fixed_stats args: fixedStatsType: backup targetDb: mydb fixedObject: schema.table.attaname comment: “xxyyzz”