API リファレンス

CloudNativePG は、次のカスタム リソースを定義する Kubernetes API を拡張します。

すべてのリソースは postgresql.cnpg.io/v1 API で定義されています。

使用例については、ドキュメントの Configuration Samples “を参照してください。

以下に、定義されたリソースの説明を示します。

アフィニティ構成

AffinityConfiguration には、Pod のアフィニティ ルールを作成するために必要な情報が含まれています

Name

Description

Type

`enablePodAntiAffinity `

ポッドの非親和性をアクティブにします。このフィールドが明示的に false に設定されていない限り、オペレーターは Pod のアンチアフィニティーを定義します。

*bool

`topologyKey `

非アフィニティ構成に使用する TopologyKey。詳細については、k8s のドキュメントを参照してください - 必須

string

`nodeSelector `

NodeSelector は、ポッドを実行できるノードを定義するために使用されるキーと値のペアのマップです。詳細: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

map[string]string

`nodeAffinity `

NodeAffinity は、ポッドのノード アフィニティ スケジューリング ルールを記述します。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity

*corev1.NodeAffinity

`tolerations `

Tolerations は、汚染されたノードで Pod を実行できるようにするために、すべての Pod に設定する必要がある Tolerations のリストです。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

[]corev1.Toleration

`podAntiAffinityType `

PodAntiAffinityType を使用すると、ユーザーは、クラスター インスタンス間のポッドのアンチアフィニティをスケジューリング中に強い要件と見なす必要があるかどうかを決定できます。使用できる値は次のとおりです: "preferred" (空の場合のデフォルト) または "required"。 「必須」に設定すると、既存のすべてのノードが必要なポッドの非アフィニティ ルールと一致しない場合、新しい kubernetes ノードが追加されるまでインスタンスが保留状態になる可能性があります。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity

string

additionalPodAntiAffinity

AdditionalPodAntiAffinity を使用すると、EnablePodAntiAffinity が true (デフォルト) に設定されている場合、または false に設定されている場合に排他的に使用される場合に、オペレーターによって生成された用語に追加されるポッドのアンチアフィニティ用語を指定できます。

*corev1.PodAntiAffinity

`additionalPodAffinity `

AdditionalPodAffinity を使用すると、クラスターのすべてのポッドに渡されるポッド アフィニティ条件を指定できます。

*corev1.PodAffinity

AzureCredentials

AzureCredentials は、ファイルを Azure Blob Storage にアップロードするために使用される資格情報の種類です。接続文字列には、必要なすべての情報が含まれています。接続文字列が指定されていない場合は、ストレージ アカウント名と、次のいずれか (および 1 つだけ) が必要になります。

  • storageKey - storageSasToken

  • inheritFromAzureAD を true に設定して、ポッド環境から資格情報を継承する

Name

Description

Type

`connectionString `

使用する接続文字列

*SecretKeySelector

`storageAccount `

データをアップロードするストレージ アカウント

*SecretKeySelector

`storageKey `

ストレージ アカウント名と組み合わせて使用するストレージ アカウント キー

*SecretKeySelector

`storageSasToken `

ストレージ アカウント名と組み合わせて使用する共有アクセス署名

*SecretKeySelector

inheritFromAzureAD

キーを明示的に提供せずに、Azure AD ベースの認証を使用します。 - 必須

bool

バックアップ

Backup はバックアップ API のスキーマです

Name

Description

Type

metadata

NA

metav1.ObjectMeta

`spec `

バックアップの望ましい動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

バックアップ仕様

`status `

バックアップの最近観察されたステータス。このデータは最新ではない可能性があります。システムによって設定されます。読み取り専用。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

バックアップステータス

バックアップ構成

BackupConfiguration は、クラスターのバックアップの取得方法を定義します。現在サポートされている唯一のバックアップ方法は、barmanObjectStore です。詳細と例については、ドキュメントのバックアップとリカバリのセクションを参照してください。

Name

Description

Type

barmanObjectStore

barman-cloud ツール スイートの構成

*BarmanObjectStoreConfiguration

`retentionPolicy `

RetentionPolicy は、バックアップと WAL に使用される保持ポリシーです (つまり、「60d」)。保持ポリシーは XXu の形式で表されます。ここで、XX は正の整数で、u は [dwm] (日、週、月) です。

string

`target `

どのインスタンスがバックアップを実行するかを決定するポリシー。利用可能なオプションは空の文字列で、デフォルトで primary ポリシーに設定されます。primary はバックアップを常にプライマリ インスタンスで実行し、prefer-standby は可能な場合は最新のスタンバイでバックアップを実行することを推奨します。

BackupTarget

バックアップリスト

BackupList には、バックアップのリストが含まれています。

Name

Description

Type

metadata

標準リスト メタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metav1.ListMeta

`items `

バックアップのリスト - 必須

[]Backup

バックアップソース

BackupSource には、復元する必要があるバックアップと、それを正しく復元するために必要な情報が含まれています。

Name

Description

Type

endpointCA

EndpointCA は、barman エンドポイントの CA バンドルを格納します。証明書発行者と barman-cloud-wal-archive でのエラーを回避するために自己署名証明書を使用する場合に役立ちます。

*SecretKeySelector

バックアップ仕様

BackupSpec は、バックアップの望ましい状態を定義します

Name

Description

Type

cluster

バックアップするクラスター

LocalObjectReference

`target `

このバックアップを実行するインスタンスを決定するポリシー。空の場合、デフォルトで cluster.spec.backup.target になります。利用可能なオプションは空の文字列で、デフォルトで primary ポリシーに設定されます。primary は常にプライマリ インスタンスでバックアップを実行し、prefer-standby は可能な場合は最新のスタンバイでバックアップを実行することを推奨します。

BackupTarget

バックアップステータス

BackupStatus は、バックアップの監視状態を定義します

Name

Description

Type

`endpointCA `

EndpointCA は、barman エンドポイントの CA バンドルを格納します。証明書発行者と barman-cloud-wal-archive でのエラーを回避するために自己署名証明書を使用する場合に役立ちます。

*SecretKeySelector

`endpointURL `

自動エンドポイント検出をオーバーライドして、データをクラウドにアップロードするために使用されるエンドポイント

string

destinationPath

バックアップを保存するパス (つまり、s3://bucket/path/to/folder) このパスは、異なる宛先フォルダーで、WAL とデータに使用されます。エラーが発生した場合、これは入力されない場合があります。

string

`serverName `

S3 上のサーバー名。このパラメーターを省略した場合はクラスター名が使用されます。

string

`encryption `

S3 API に必要な暗号化方式

string

`backupId `

Barmanバックアップの ID

string

`backupName `

Barmanバックアップの名前

string

`phase `

最後のバックアップ ステータス

BackupPhase

`startedAt `

バックアップが開始されたとき

*metav1.Time

`stoppedAt `

バックアップが終了したとき

*metav1.Time

`beginWal `

開始 WAL

string

`endWal `

エンディングのWAL

string

`beginLSN `

開始の xlog

string

`endLSN `

エンディングのxlog

string

`error `

検出されたエラー

string

`commandOutput `

未使用。古いバージョンとの互換性のために保持されています。

string

`commandError `

エラーが発生した場合のバックアップ コマンドの出力

string

`instanceID `

バックアップが取得されたインスタンスを識別するための情報

*InstanceID

BarmanCredentials

BarmanCredentials 各クラウド プロバイダーの潜在的な資格情報を含むオブジェクト

Name

Description

Type

googleCredentials

データを Google Cloud Storage にアップロードするために使用する認証情報

*GoogleCredentials

`s3Credentials `

データを S3 にアップロードするために使用する認証情報

*S3Credentials

`azureCredentials `

Azure Blob Storage にデータをアップロードするために使用する資格情報

*AzureCredentials

BarmanObjectStoreConfiguration

BarmanObjectStoreConfiguration には、S3 互換オブジェクト ストレージに対してBarmanを使用したバックアップ構成が含まれています。

Name

Description

Type

`endpointURL `

自動エンドポイント検出をオーバーライドして、データをクラウドにアップロードするために使用されるエンドポイント

string

`endpointCA `

EndpointCA は、barman エンドポイントの CA バンドルを格納します。証明書発行者と barman-cloud-wal-archive でのエラーを回避するために自己署名証明書を使用する場合に役立ちます

*SecretKeySelector

destinationPath

バックアップを保存するパス (例: s3://bucket/path/to/folder) このパスは、異なる宛先フォルダーと共に、WAL とデータに使用されます - 必須

string

`serverName `

S3 上のサーバー名。このパラメーターを省略した場合はクラスター名が使用されます。

string

`wal `

WAL ストリームのバックアップの構成。定義されていない場合、バケットのデフォルト ポリシーに従って、WAL ファイルは圧縮されずに保存され、オブジェクト ストアで暗号化されない場合があります。

*WalBackupConfiguration

`data `

データ ファイルのバックアップに使用される構成 定義されていない場合、ベース バックアップ ファイルは圧縮されずに保存され、バケットのデフォルト ポリシーに従って、オブジェクト ストアで暗号化されない場合があります。

*DataBackupConfiguration

`tags `

Tags は、 Barman --tags オプションに渡されるキーと値のペアのリストです。

map[string]string

`historyTags `

HistoryTags は、 Barman --history-tags オプションに渡されるキーと値のペアのリストです。

map[string]string

ブートストラップ構成

BootstrapConfiguration には、PostgreSQL クラスターの作成方法に関する情報が含まれています。サポートされているブートストラップ メソッドの中で定義できるのは、1 つのブートストラップ メソッドだけです。指定しない場合、initdb がブートストラップ メソッドとして使用されます。詳細については、ドキュメントの Bootstrap ページを参照してください。

Name

Description

Type

`initdb `

initdb を介してクラスターをブートストラップする

*BootstrapInitDB

`recovery `

バックアップからクラスターをブートストラップする

*BootstrapRecovery

pg_basebackup

別の互換性のある PostgreSQL インスタンスの物理バックアップを取得してクラスターをブートストラップする

*BootstrapPgBaseBackup

BootstrapInitDB

BootstrapInitDB は、initdb を使用する場合のブートストラップ プロセスの構成です。詳細については、ドキュメントの Bootstrap ページを参照してください。

Name

Description

Type

`database `

アプリケーションが使用するデータベースの名前。デフォルト: app。 - 必須

string

`owner `

アプリケーションによって使用されるインスタンス内のデータベースの所有者の名前。デフォルトは database キーの値です。 - 必須

string

`secret `

ユーザー データベースの所有者の初期認証情報を含むシークレットの名前。空の場合、新しいシークレットが最初から作成されます

*LocalObjectReference

`options `

クラスターの作成時に initdb に渡す必要があるオプションのリスト。非推奨: これにより、構成に一貫性がなくなる可能性があります。代わりに、明示的に指定されたパラメーターを使用してください。定義されている場合、明示的な値は無視されます。

[]string

`dataChecksums `

-k オプションを initdb に渡して、データ ページのチェックサムを有効にするかどうか (デフォルト: false)

*bool

`encoding `

initdb のオプション --encoding として渡される値 (デフォルト: UTF8)

string

`localeCollate `

initdb のオプション --lc-collate として渡される値 (デフォルト: C)

string

`localeCType `

initdb のオプション --lc-ctype として渡される値 (デフォルト: C)

string

`walSegmentSize `

initdb の --wal-segsize オプションに渡されるメガバイト単位 (1 から 1024) の値 (デフォルト: 空、結果として PostgreSQL のデフォルト: 16MB)

int

`postInitSQL `

クラスターが作成された直後にスーパーユーザーとして実行されるSQLクエリのリスト - 細心の注意を払って使用されます (デフォルトでは空)

[]string

`postInitApplicationSQL `

作成直後にアプリケーションデータベースでスーパーユーザーとして実行されるSQLクエリのリスト - 細心の注意を払って使用する (デフォルトでは空)

[]string

`postInitTemplateSQL `

クラスターが作成された後に template1 でスーパーユーザーとして実行されるSQLクエリのリスト - 細心の注意を払って使用されます (デフォルトでは空)

[]string

`import `

論理バックアップ (pg_dump および pg_restore) を使用して既存の PostgreSQL インスタンスからデータをインポートすることにより、新しいクラスターをブートストラップします。

*Import

postInitApplicationSQLRefs

PostInitApplicationSQLRefs は、 SQLファイルを含む ConfigMap または Secret への参照をポイントします。これらの参照の一般的な実装順序は、すべての Secret からすべての ConfigMap への順序であり、Secret または ConfigMap 内では、実装順序は各配列の順序と同じです (デフォルトでは空)。

*PostInitApplicationSQLRefs

BootstrapPgBaseBackup

BootstrapPgBaseBackup には、既存の PostgreSQL クラスターの物理バックアップを作成するために必要な構成が含まれています。

Name

Description

Type

`source `

物理バックアップを取得する必要があるサーバーの名前 - 必須

string

database

アプリケーションが使用するデータベースの名前。デフォルト: app。 - 必須

string

`owner `

アプリケーションによって使用されるインスタンス内のデータベースの所有者の名前。デフォルトは database キーの値です。 - 必須

string

`secret `

ユーザー データベースの所有者の初期認証情報を含むシークレットの名前。空の場合、新しいシークレットが最初から作成されます

*LocalObjectReference

BootstrapRecovery

BootstrapRecovery には、指定された名前でバックアップを復元するために必要な構成が含まれており、スーパーユーザー用に選択されたパスワードでパスワードを変更した後、それを使用して、復元されたプライマリからすべてのインスタンスを複製する完全なクラスターをブートストラップします。詳細については、ドキュメントの Bootstrap ページを参照してください。

Name

Description

Type

`backup `

復元する必要があるバックアップ

*BackupSource

`source `

バックアップを復元する外部クラスター。これは、バックアップが保存されるフォルダーの名前としても使用されるため、ソース クラスターの名前に設定する必要があります。

string

recoveryTarget

デフォルトでは、リカバリ プロセスはアーカイブ内のすべての利用可能な WAL ファイルを適用します (完全リカバリ)。ただし、一貫性のある状態に達したらすぐにリカバリを終了するか、PostgreSQL で期待されるように RecoveryTarget オブジェクトを指定してポイント イン タイム (PITR) にリカバリすることもできます (つまり、タイムスタンプ、トランザクション ID、LSN など)。 .)。詳細: https://www.postgresql.org/docs/current/runtime-config-wal.html#RUNTIME-CONFIG-WAL-RECOVERY-TARGET

*RecoveryTarget

`database `

アプリケーションが使用するデータベースの名前。デフォルト: app。 - 必須

string

`owner `

アプリケーションによって使用されるインスタンス内のデータベースの所有者の名前。デフォルトは database キーの値です。 - 必須

string

`secret `

ユーザー データベースの所有者の初期認証情報を含むシークレットの名前。空の場合、新しいシークレットが最初から作成されます

*LocalObjectReference

証明書の構成

CertificatesConfiguration には、サーバー証明書を処理するために必要な構成が含まれています。

Name

Description

Type

`serverCASecret `

サーバー CA 証明書を含むシークレット。定義されていない場合、自己署名 CA を使用して新しいシークレットが作成され、TLS 証明書 ServerTLSSecret の生成に使用されます。<br /> <br /> 内容:<br /> <br /> - ca.crt: CAサーバー証明書の検証に使用する必要があり、クライアント接続文字列で sslrootcert として使用されます。<br /> - ca.key: サーバー SSL 証明書の生成に使用されるキー。ServerTLSSecret が提供されている場合、これは省略できます。<br />

string

`serverTLSSecret `

クライアントが postgres に安全に接続できるように、サーバー TLS 証明書と ssl_cert_file および ssl_key_file として設定されるキーを含むタイプ kubernetes.io/tls のシークレット。定義されていない場合、ServerCASecret は ca.key も提供する必要があり、提供された CA を使用して新しいシークレットが作成されます。

string

replicationTLSSecret

streaming_replica ユーザーとして認証するためのクライアント証明書を含むタイプ kubernetes.io/tls のシークレット。定義されていない場合、ClientCASecret は ca.key も提供する必要があり、提供された CA を使用して新しいシークレットが作成されます。

string

`clientCASecret `

クライアント CA 証明書を含むシークレット。定義されていない場合、自己署名 CA を使用して新しいシークレットが作成され、すべてのクライアント証明書の生成に使用されます。<br /> <br /> 内容:<br /> <br /> - ca.crt: CAクライアント証明書の検証に使用する必要があり、すべてのインスタンスの ssl_ca_file として使用されます。<br /> - ca.key: クライアント証明書の生成に使用されるキー。ReplicationTLSSecret が提供されている場合、これは省略できます。<br />

string

`serverAltDNSNames `

必要に応じて、生成されたサーバー TLS 証明書に追加されるサーバーの代替 DNS 名のリスト。

[]string

証明書ステータス

CertificatesStatus には、構成証明書と関連する有効期限が含まれています。

Name

Description

Type

expirations

すべての証明書の有効期限。

map[string]string

集まる

クラスタは PostgreSQL API のスキーマです

Name

Description

Type

metadata

NA

metav1.ObjectMeta

`spec `

クラスターの望ましい動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

ClusterSpec

`status `

クラスタの最近観測されたステータス。このデータは最新ではない可能性があります。システムによって設定されます。読み取り専用。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

ClusterStatus

ClusterList

ClusterList には Cluster のリストが含まれています

Name

Description

Type

metadata

標準リスト メタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metav1.ListMeta

`items `

クラスターのリスト - 必須

[]Cluster

ClusterSpec

ClusterSpec は Cluster の望ましい状態を定義します

Name

Description

Type

`description `

この PostgreSQL クラスターの説明

string

`inheritedMetadata `

クラスタに関連するすべてのオブジェクトに継承されるメタデータ

*EmbeddedObjectMetadata

`imageName `

タグ (<image>:<tag>) と決定論的で反復可能なデプロイのダイジェスト (<image>:<tag>@sha256:<digestValue>) の両方をサポートするコンテナ イメージの名前

string

`imagePullPolicy `

イメージ プル ポリシー。 Always、Never、または IfNotPresent のいずれか。定義されていない場合、デフォルトで IfNotPresent になります。更新できません。詳細: https://kubernetes.io/docs/concepts/containers/images#updating-images

corev1.PullPolicy

`postgresUID `

イメージ内の postgres ユーザーの UID、デフォルトは 26

int64

`postgresGID `

イメージ内の postgres ユーザーの GID、デフォルトは 26

int64

`instances `

クラスターに必要なインスタンスの数 - 必須

int

`minSyncReplicas `

プライマリとの同期レプリケーションに必要なインスタンスの最小数。未定義または 0 を指定すると、使用可能なスタンバイがない場合に書き込みを完了できます。

int

`maxSyncReplicas `

準備ができているスタンバイの数がこれよりも少ない場合は、減らすことができる同期レプリケーション クォーラムのターゲット値。未定義または 0 は、同期レプリケーションを無効にします。

int

`postgresql `

PostgreSQL サーバーの構成

Postgres構成

`replicationSlots `

レプリケーション スロット管理構成

*ReplicationSlotsConfiguration

`bootstrap `

このクラスターをブートストラップする手順

*BootstrapConfiguration

`replica `

レプリカ クラスタの構成

*ReplicaClusterConfiguration

`superuserSecret `

スーパーユーザーのパスワードを含むシークレット。定義されていない場合、ランダムに生成されたパスワードで新しいシークレットが作成されます

*LocalObjectReference

`enableSuperuserAccess `

このオプションを有効にすると、オペレーターは SuperuserSecret を使用して postgres ユーザー パスワードを更新します (シークレットが存在しない場合、オペレーターは自動的に作成します)。このオプションを無効にすると、オペレーターは SuperuserSecret コンテンツを無視し、自動的に作成されたときに削除し、postgres ユーザーのパスワードを NULL に設定して空白にします。デフォルトで有効になっています。

*bool

`certificates `

CA および関連する証明書の構成

*CertificatesConfiguration

`imagePullSecrets `

イメージのプルに使用されるプル シークレットのリスト

[]LocalObjectReference

`storage `

インスタンスのストレージの構成

ストレージ構成

`serviceAccountTemplate `

サービス アカウントの生成を構成する

*ServiceAccountTemplate

`walStorage `

PostgreSQL WAL (Write-Ahead Log) のストレージの構成

*StorageConfiguration

`startDelay `

PostgreSQL インスタンスが正常に起動するまでの許容時間 (秒単位) (デフォルトは 30)

int32

`stopDelay `

PostgreSQL インスタンスが正常にシャットダウンするまでの許容時間 (秒単位) (デフォルトは 30)

int32

`switchoverDelay `

スイッチオーバー中にプライマリ PostgreSQL インスタンスが正常にシャットダウンするために許容される秒単位の時間。デフォルト値は 40000000 で、秒単位で 1 年を超え、無限の遅延をシミュレートするのに十分な大きさです

int32

`failoverDelay `

クラスター内のプライマリ PostgreSQL インスタンスが異常であることが検出された後、フェイルオーバーをトリガーするまでの待機時間 (秒単位)

int32

`affinity `

Pod のアフィニティ/アンチアフィニティ ルール

アフィニティ構成

`resources `

生成されたすべての Pod のリソース要件。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

corev1.ResourceRequirements

`primaryUpdateStrategy `

すべてのレプリカが正常に更新された後、ローリング更新手順中にプライマリ サーバーをアップグレードするために従う戦略: 自動化 (unsupervised - デフォルト) または手動 (supervised) のいずれかです。

PrimaryUpdateStrategy

`primaryUpdateMethod `

すべてのレプリカが正常に更新された後、ローリング更新手順中にプライマリ サーバーをアップグレードするために従う方法: スイッチオーバー (switchover - デフォルト) またはインプレース (restart) を使用できます。

PrimaryUpdateMethod

`backup `

バックアップに使用する構成

*BackupConfiguration

`nodeMaintenanceWindow `

Kubernetes ノードのメンテナンス ウィンドウを定義する

*NodeMaintenanceWindow

`monitoring `

このクラスタの監視インフラストラクチャの構成

*MonitoringConfiguration

`externalClusters `

構成で使用される外部クラスターのリスト

[]ExternalCluster

`logLevel `

インスタンスのログ レベル。次のいずれかの値: error、warning、info (デフォルト)、debug、trace

string

projectedVolumeTemplate

投影されたボリュームを定義するために使用されるテンプレート。投影されたボリュームは /projected ベース フォルダーの下にマウントされます

*corev1.ProjectedVolumeSource

`env `

Env は Env 形式に従って、クラスターで作成されたポッドに環境変数を渡します

[]corev1.EnvVar

`envFrom `

EnvFrom は EnvFrom 形式に従って、環境変数ソースを Pod に渡し、Env によって使用されます。

[]corev1.EnvFromSource

ClusterStatus

ClusterStatus は、クラスタの監視状態を定義します

Name

Description

Type

`instances `

クラスタで検出された PVC グループの総数。既存のインスタンス ポッドの数とは異なる場合があります。

int

`readyInstances `

クラスター内の準備ができているインスタンスの総数。これは、準備ができているインスタンス ポッドの数と同じです。

int

`instancesStatus `

InstancesStatus は、インスタンスがどのステータスにあるかを示します

map[utils.PodStatus][]string

`instancesReportedState `

最後の調整ループ中に報告されたインスタンスの状態

map[PodName]InstanceReportedState

`timelineID `

Postgres クラスターのタイムライン

int

`topology `

インスタンス トポロジ。

トポロジー

`latestGeneratedNode `

最後に生成されたノードの ID (ノード名の衝突を避けるために使用)

int

`currentPrimary `

現在のプライマリ インスタンス

string

`targetPrimary `

ターゲット プライマリ インスタンス。これは、スイッチオーバーまたはフェイルオーバー中の以前のものとは異なります

string

`pvcCount `

このクラスタによって作成された PVC の数

int32

`jobCount `

このクラスターによって作成されたジョブの数

int32

`danglingPVC `

このクラスタによって作成され、Pod に接続されていないまだ使用可能なすべての PVC のリスト

[]string

`resizingPVC `

ResizingPVC 条件を持つすべての PVC のリスト。

[]string

`initializingPVC `

このクラスタによって初期化されているすべての PVC のリスト

[]string

`healthyPVC `

ダングリングも初期化もしていないすべての PVC のリスト

[]string

`unusablePVC `

別の PVC がないために使用できないすべての PVC のリスト

[]string

`writeService `

現在の書き込みポッド

string

`readService `

読み取りポッドの現在のリスト

string

`phase `

クラスターの現在のフェーズ

string

`phaseReason `

現在のフェーズの理由

string

`secretsResourceVersion `

オペレーターが管理するシークレットのリソース バージョンのリスト。ここでのすべての変更は、シークレット データを更新するインスタンス マネージャーのために行われます。

SecretsResourceVersion

`configMapResourceVersion `

オペレーターによって管理される configmap のリソース バージョンのリスト。ここでのすべての変更は、configmap データを更新するインスタンス マネージャーのために行われます。

ConfigMapResourceVersion

`certificates `

デフォルトで初期化された、CA および関連する証明書の構成。

証明書ステータス

`firstRecoverabilityPoint `

RFC3339 形式の日付として保存される最初の回復可能ポイント

string

`lastSuccessfulBackup `

RFC3339 形式の日付として保存

string

`lastFailedBackup `

RFC3339 形式の日付として保存

string

`cloudNativePGCommitHash `

このオペレーターが実行しているコミットハッシュ番号

string

`currentPrimaryTimestamp `

プライマリへの最後の実際の昇格が発生したときのタイムスタンプ

string

currentPrimaryFailingSinceTimestamp

プライマリが異常であることが検出されたときのタイムスタンプ。このフィールドは、spec.failoverDelay が入力されたとき、またはオンライン アップグレード中に報告されます。

string

`targetPrimaryTimestamp `

新しいプライマリの最後のリクエストが発生したときのタイムスタンプ

string

`poolerIntegrations `

クラスターを参照するプーラーが必要とする統合

*PoolerIntegrations

`cloudNativePGOperatorHash `

演算子のバイナリのハッシュ

string

`onlineUpdateEnabled `

OnlineUpdateEnabled は、クラスター内でオンライン アップグレードが有効になっているかどうかを示します

bool

`azurePVCUpdateEnabled `

AzurePVCUpdateEnabled は、このクラスターで PVC オンライン アップグレードが有効になっているかどうかを示します

bool

`conditions `

クラスタ オブジェクトの条件

[]metav1.Condition

`instanceNames `

クラスター内のインスタンス名のリスト

[]string

ConfigMapKeySelector

ConfigMapKeySelector には、ConfigMap のキーを見つけるのに十分な情報が含まれています

Name

Description

Type

key

選択するキー - 必須

string

ConfigMapResourceVersion

ConfigMapResourceVersion は、オペレーターが管理するシークレットのリソース バージョンです。

Name

Description

Type

metrics

メトリックを渡すために使用されるすべての構成マップのバージョンを含むマップ。マップ キーは構成マップ名、マップ値はバージョンです。

map[string]string

データバックアップ構成

DataBackupConfiguration は、データ ディレクトリのバックアップの構成です。

Name

Description

Type

`compression `

オブジェクト ストアにストリーミングしながら、バックアップ ファイル (テーブルスペースごとに tar ファイル) を圧縮します。利用可能なオプションは、空の文字列 (圧縮なし、デフォルト)、gzip、bzip2、または snappy です。

CompressionType

`encryption `

ファイルの暗号化を強制する場合 (バケットがまだそのように構成されていない場合)。許可されているオプションは、空の文字列 (バケット ポリシーを使用、デフォルト)、AES256 および aws:kms です。

EncryptionType

immediateCheckpoint

PostgreSQL サーバーの checkpoint_completion_target 設定に従って、バックアップの初期チェックポイントの I/O ワークロードを制限するかどうかを制御します。 true に設定すると、即時チェックポイントが使用されます。つまり、PostgreSQL はできるだけ早くチェックポイントを完了します。デフォルトでは`false`。

bool

`jobs `

バックアップのアップロードに使用される並列ジョブの数。デフォルトは 2 です。

*int32

EmbeddedObjectMetadata

EmbeddedObjectMetadata には、クラスタに関連するすべてのリソースによって継承されるメタデータが含まれています

Name

Description

Type

`labels `

NA

map[string]string

annotations

NA

map[string]string

外部クラスター

ExternalCluster は、構成の他のセクションで使用される外部クラスターへの接続パラメーターを表します。

Name

Description

Type

`name `

サーバー名、必須 - 必須

string

connectionParameters

データベース名、ホスト、ユーザー名などの接続パラメータのリスト

map[string]string

`sslCert `

このインスタンスへの接続に使用される SSL 証明書への参照

*corev1.SecretKeySelector

`sslKey `

このインスタンスへの接続に使用される SSL 秘密鍵への参照

*corev1.SecretKeySelector

`sslRootCert `

このインスタンスへの接続に使用される SSL CA 公開鍵への参照

*corev1.SecretKeySelector

`password `

サーバーへの接続に使用するパスワードへの参照

*corev1.SecretKeySelector

`barmanObjectStore `

barman-cloud ツール スイートの構成

*BarmanObjectStoreConfiguration

Google資格情報

GoogleCredentials は、Google Cloud Storage 資格情報のタイプです。これは、GKE 環境内で実行する場合でも指定する必要があります。

Name

Description

Type

`gkeEnvironment `

true に設定すると、GKE 環境内で実行されていると見なされます。デフォルトは false です。 - 必須

bool

applicationCredentials

認証情報を含む Google Cloud Storage JSON ファイルを含むシークレット

*SecretKeySelector

輸入

インポートには、externalCluster のロジック スナップショットからデータベースを初期化するための構成が含まれています

Name

Description

Type

`source `

インポート元 - 必須

インポート元

`type `

インポートの種類。 microservice または monolith にすることができます。 - 必須

SnapshotType

`databases `

インポートするデータベース - 必須

[]string

`roles `

インポートする役割

[]string

postImportApplicationSQL

インポート直後にアプリケーション データベースでスーパーユーザーとして実行されるSQLクエリのリスト - 細心の注意を払って使用します (デフォルトでは空)。マイクロサービス タイプでのみ使用できます。

[]string

インポート元

ImportSource は、論理スナップショットのソースを記述します

Name

Description

Type

externalCluster

インポートに使用される externalCluster の名前 - 必須

string

インスタンスID

InstanceID には、インスタンスを識別するための情報が含まれています

Name

Description

Type

`podName `

ポッド名

string

ContainerID

コンテナー ID

string

InstanceReportedState

InstanceReportedState は、調整ループ中に最後に報告されたインスタンスの状態を示します

Name

Description

Type

`isPrimary `

インスタンスがプライマリかどうかを示します - 必須

bool

timeLineID

インスタンスがどの TimelineId にあるかを示します

int

LDAPBindAsAuth

LDAPBindAsAuth は、LDAP のバインド認証を使用するために必要なフィールドを提供します

Name

Description

Type

prefix

バインド認証オプションのプレフィックス

string

suffix

バインド認証オプションのサフィックス

string

LDAPBindSearchAuth

LDAPBindSearchAuth は、バインド + 検索 LDAP 認証プロセスを使用するために必要なフィールドを提供します。

Name

Description

Type

`baseDN `

ユーザー検索を開始するためのルート DN

string

`bindDN `

ディレクトリにバインドするユーザーのDN

string

`bindPassword `

ユーザーがディレクトリにバインドするためのパスワードを含むシークレット

*corev1.SecretKeySelector

searchAttribute

ユーザー名と照合する属性

string

`searchFilter `

検索+バインド認証を行うときに使用する検索フィルター

string

LDAPConfig

LDAPConfig には、LDAP 認証に必要なパラメーターが含まれています

Name

Description

Type

`server `

LDAP ホスト名または IP アドレス

string

`port `

LDAP サーバー ポート

int

`scheme `

使用する LDAP スキーマ。可能なオプションは ldap と ldaps です

LDAPScheme

`tls `

LDAP over TLS を有効にするには、「true」に設定します。 「false」がデフォルトです

bool

`bindAsAuth `

認証構成としてバインド

*LDAPBindAsAuth

bindSearchAuth

Bind+Search 認証構成

*LDAPBindSearchAuth

LocalObjectReference

LocalObjectReference には、同じ名前空間内の既知の型を持つローカル オブジェクトを見つけるのに十分な情報が含まれています

Name

Description

Type

name

参照対象の名前。 - 必須

string

メタデータ

メタデータは metav1.ObjectMeta に似た構造ですが、controller-gen で解析して、ユーザーに適した CRD を作成できます。 PodTemplateSpec のコメントには、コア データ型を使用しない理由が説明されています。

Name

Description

Type

`labels `

オブジェクトの整理と分類 (スコープと選択) に使用できる文字列キーと値のマップ。レプリケーション コントローラーおよびサービスのセレクターと一致する場合があります。詳細: http://kubernetes.io/docs/user-guide/labels

map[string]string

annotations

Annotations は、任意のメタデータを保存および取得するために外部ツールによって設定される可能性がある、リソースと共に保存される構造化されていないキー値マップです。これらはクエリ可能ではなく、オブジェクトを変更するときに保持する必要があります。詳細: http://kubernetes.io/docs/user-guide/annotations

map[string]string

監視構成

MonitoringConfiguration は、特定のクラスターのすべてのモニタリング構成を含むタイプです

Name

Description

Type

`disableDefaultQueries `

デフォルトのクエリを挿入するかどうか。デフォルトのクエリをクラスターに挿入したくない場合は、true に設定します。デフォルト: false。

*bool

customQueriesConfigMap

カスタム クエリを含む構成マップのリスト

[]ConfigMapKeySelector

`customQueriesSecret `

カスタム クエリを含むシークレットのリスト

[]SecretKeySelector

`enablePodMonitor `

PodMonitor を有効または無効にする

bool

NodeMaintenanceWindow

NodeMaintenanceWindow には、基礎となるノードのアップグレード中にオペレーターが使用する情報が含まれています。

このオプションは、選択したストレージによって Pod がノード間で自由に移動できない場合にのみ役立ちます。

Name

Description

Type

inProgress

進行中のノード メンテナンス アクティビティはありますか? - 必須

bool

`reusePVC `

既存の PVC を再利用する (ノードが再起動するのを待つ) またはしない (別の場所で再作成する - instances >1 の場合) - 必須

*bool

PgBouncerIntegrationStatus

PgBouncerIntegrationStatus は、クラスターを参照する pgbouncer プーラーに必要な統合をカプセル化します

Name

Description

Type

secrets

NA

[]string

PgBouncerSecrets

PgBouncerSecrets には、pgbouncer が使用するシークレットのバージョンが含まれています。

Name

Description

Type

authQuery

認証クエリのシークレット バージョン

シークレットバージョン

PgBouncerSpec

PgBouncerSpec は PgBouncer の設定方法を定義します

Name

Description

Type

`poolMode `

プールモード - 必須

PgBouncerPoolMode

authQuerySecret

認証クエリに使用する必要があるユーザーの資格情報。指定されている場合は、AuthQuery (例: "SELECT usename, passwd FROM pg_shadow WHERE usename=$1") も指定する必要があり、CNPG クラスターの自動統合はトリガーされません。

*LocalObjectReference

`authQuery `

特定のユーザーのパスワードのハッシュをダウンロードするために使用されるクエリ。デフォルト: "SELECT ユーザー名、パスワード FROM user_search($1)"。指定されている場合は、AuthQuerySecret も指定する必要があり、CNPG クラスターの自動統合はトリガーされません。

string

`parameters `

PgBouncer に渡される追加のパラメーター - 構成できるオプションのリストについては、CNPG のドキュメントを確認してください。

map[string]string

`pg_hba `

PostgreSQL ホスト ベース認証ルール (pg_hba.conf ファイルに追加する行)

[]string

`paused `

true に設定すると、PgBouncer は PostgreSQL サーバーから切断し、最初にすべてのクエリが完了するのを待ち、この値が false (デフォルト) に設定されるまですべての新しいクライアント接続を一時停止します。内部的に、オペレーターは PgBouncer の PAUSE および RESUME コマンドを呼び出します。

*bool

PodTemplateSpec

PodTemplateSpec は、ユーザーが Pod 生成用のテンプレートを設定できるようにする構造です。

残念ながら、生成された CRD にはメタデータ セクションのフィールドがないため、corev1.PodTemplateSpec タイプは使用できません。

参考文献: https://github.com/kubernetes-sigs/controller-tools/issues/385 https://github.com/kubernetes-sigs/controller-tools/issues/448 https://github.com/prometheus-オペレーター/プロメテウス-オペレーター/問題/3041

Name

Description

Type

metadata

標準オブジェクトのメタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

クラスターのメタデータの定義

`spec `

Pod の望ましい動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

corev1.PodSpec

プーラー

Pooler はプーラー API のスキーマです

Name

Description

Type

metadata

NA

metav1.ObjectMeta

`spec `

NA

プーラースペック

`status `

NA

プーラーのステータス

プーラー統合

PoolerIntegrations は、クラスターを参照するプーラーに必要な統合をカプセル化します

Name

Description

Type

pgBouncerIntegration

NA

PgBouncerIntegrationStatus

プーラーリスト

PoolerList には Pooler のリストが含まれています

Name

Description

Type

metadata

NA

metav1.ListMeta

`items `

  • 必須

[]Pooler

PoolerSecrets

PoolerSecrets には、使用されるすべてのシークレットのバージョンが含まれています

Name

Description

Type

`serverTLS `

サーバーの TLS シークレット バージョン

シークレットバージョン

`serverCA `

サーバー CA シークレット バージョン

シークレットバージョン

`clientCA `

クライアント CA シークレット バージョン

シークレットバージョン

pgBouncerSecrets

PgBouncer が使用するシークレットのバージョン

*PgBouncerSecrets

プーラースペック

PoolerSpec は、プーラーの望ましい状態を定義します

Name

Description

Type

`cluster `

これは、プーラーが機能するクラスター参照です。プーラー名は、同じ名前空間内のどのクラスター名とも一致しないはずです。 - 必須

LocalObjectReference

`type `

どのインスタンスにトラフィックを転送する必要がありますか? - 必須

PoolerType

instances

必要なレプリカの数 - 必須

int32

`template `

作成する Pod のテンプレート

*PodTemplateSpec

pgbouncer

PgBouncer 構成 - 必須

*PgBouncerSpec

プーラーのステータス

PoolerStatus は、監視された Pooler の状態を定義します

Name

Description

Type

`secrets `

構成オブジェクトのリソース バージョン

*PoolerSecrets

instances

スケジュールしようとしているポッドの数

int32

PostInitApplicationSQLRefs

PostInitApplicationSQLRefs は、 SQLファイルを含む ConfigMap または Secret への参照をポイントします。これらの参照の一般的な実装順序は、すべての Secret からすべての ConfigMap への順序であり、Secret または ConfigMap 内では、実装順序は各配列の順序と同じです。

Name

Description

Type

`secretRefs `

SecretRefs は、シークレットへの参照のリストを保持します

[]SecretKeySelector

configMapRefs

ConfigMapRefs は、ConfigMaps への参照のリストを保持します

[]ConfigMapKeySelector

Postgres構成

PostgresConfiguration は PostgreSQL 構成を定義します

Name

Description

Type

`parameters `

PostgreSQL 構成オプション (postgresql.conf)

map[string]string

`pg_hba `

PostgreSQL ホスト ベース認証ルール (pg_hba.conf ファイルに追加する行)

[]string

syncReplicaElectionConstraint

同期レプリカが満たすべき要件。これは、「synchronous_standby_names」パラメーターの設定方法に影響します。

SyncReplicaElectionConstraints

`promotionTimeout `

インスタンスをプライマリに昇格するときに待機する最大秒数を指定します。デフォルト値は 40000000 で、秒単位で 1 年を超え、無限のタイムアウトをシミュレートするのに十分な大きさです

int32

`shared_preload_libraries `

デフォルトのものに追加する共有プリロード ライブラリのリスト

[]string

`ldap `

LDAP 構成を指定するオプション

*LDAPConfig

回復対象

RecoveryTarget を使用すると、回復プロセスが停止する瞬間を構成できます。 TargetTLI を除くすべてのターゲット オプションは相互に排他的です。

Name

Description

Type

`backupID `

リカバリ プロセスを開始するバックアップの ID。空の場合 (デフォルト)、オペレーターは targetTime または targetLSN (指定されている場合) に基づいてバックアップを自動的に検出します。それ以外の場合は、利用可能な最新のバックアップを時系列で使用します。

string

`targetTLI `

ターゲットのタイムライン (「最新」または正の整数)

string

`targetXID `

対象取引ID

string

`targetName `

ターゲット名 (事前に pg_create_restore_point で作成)

string

`targetLSN `

ターゲット LSN (ログ シーケンス番号)

string

`targetTime `

RFC3339 標準のタイムスタンプとしてのターゲット時刻

string

targetImmediate

一貫した状態に達したらすぐに回復を終了する

*bool

`exclusive `

ターゲットを排他的に設定します (デフォルトは true)。

*bool

ReplicaClusterConfiguration

ReplicaClusterConfiguration は、レプリカ クラスターの構成をカプセル化します。

Name

Description

Type

enabled

レプリカ モードが有効になっている場合、このクラスターは既存のクラスターのレプリカになります。レプリカ クラスタは、リカバリ オブジェクト ストアから、または pg_basebackup を介したストリーミングを介して作成できます。詳細については、ドキュメントのレプリケーション ページを参照してください。 - 必須

bool

`source `

レプリケーション元である外部クラスターの名前 - 必須

string

ReplicationSlotsConfiguration

ReplicationSlotsConfiguration は、レプリケーション スロットの構成をカプセル化します

Name

Description

Type

highAvailability

高可用性構成のレプリケーション スロット

*ReplicationSlotsHAConfiguration

`updateInterval `

スタンバイは、ローカル レプリケーション スロットのステータスを updateInterval 秒 (デフォルト 30) ごとに更新します。

int

ReplicationSlotsHAConfiguration

ReplicationSlotsHAConfiguration は、オペレーターによって自動的に管理されるレプリケーション スロットの構成をカプセル化し、高可用性 (HA) の目的でスタンバイ インスタンスとのストリーミングレプリケーション接続を制御します。レプリケーション スロットは、ストリーミング クライアント (この場合は HA クラスターの一部であるレプリカ) が切断されたときに、PostgreSQL が WAL ファイルをプライマリに自動的に保持するようにする PostgreSQL の機能です。

Name

Description

Type

`enabled `

有効にすると、オペレータはプライマリ インスタンスのレプリケーション スロットを自動的に管理し、HA クラスタの一部であるすべてのスタンバイ インスタンスとのストリーミングレプリケーション接続でそれらを使用します。無効 (デフォルト) の場合、オペレータはレプリカとのストリーミング接続でレプリケーション スロットを利用しません。この機能は、指定されたプライマリからそのカスケード レプリカまで、レプリカ クラスター内のレプリケーション スロットも制御します。これは、作成時にのみ設定できます。 - 必須

bool

slotPrefix

HA のオペレーターによって管理されるレプリケーション スロットのプレフィックス。小文字、数字、およびアンダースコア文字のみを含めることができます。これは、作成時にのみ設定できます。デフォルトでは _cnpg_ に設定されています。

string

ローリングアップデートステータス

RollingUpdateStatus には、更新中のインスタンスに関する情報が含まれています

Name

Description

Type

imageName

Pod に挿入した画像 - 必須

string

startedAt

アップデートが開始されたとき

metav1.Time

S3Credentials

S3Credentials は、ファイルを S3 にアップロードするために使用される資格情報のタイプです。次の 2 つの方法で提供できます。

  • accessKeyId と secretAccessKey を明示的に渡す

  • inheritFromIAMRole を true に設定して、ポッド環境からロールを継承する

Name

Description

Type

`accessKeyId `

アクセスキー ID への参照

*SecretKeySelector

`secretAccessKey `

シークレット アクセス キーへの参照

*SecretKeySelector

`region `

リージョン名を含むシークレットへの参照

*SecretKeySelector

`sessionToken `

セッションキーへの参照

*SecretKeySelector

inheritFromIAMRole

キーを明示的に提供せずに、役割ベースの認証を使用します。 - 必須

bool

スケジュールされたバックアップ

ScheduledBackup は、scheduledbackups API のスキーマです。

Name

Description

Type

metadata

NA

metav1.ObjectMeta

`spec `

ScheduledBackup の望ましい動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

スケジュールされたバックアップ仕様

`status `

ScheduledBackup の最近観察されたステータス。このデータは最新ではない可能性があります。システムによって設定されます。読み取り専用。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

スケジュールされたバックアップの状態

スケジュールされたバックアップ リスト

ScheduledBackupList には、ScheduledBackup のリストが含まれています

Name

Description

Type

metadata

標準リスト メタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metav1.ListMeta

`items `

クラスターのリスト - 必須

[]ScheduledBackup

スケジュールされたバックアップ仕様

ScheduledBackupSpec は、ScheduledBackup の望ましい状態を定義します

Name

Description

Type

`suspend `

このバックアップが中断されているかどうか

*bool

`immediate `

最初のバックアップを作成後すぐに開始する必要があるかどうか

*bool

`schedule `

スケジュールは、追加の秒指定子が含まれているため、Kubernetes CronJobs で使用されるのと同じ形式には従いません。https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format - 必須 を参照してください。

string

`cluster `

バックアップするクラスター

LocalObjectReference

backupOwnerReference

作成されたバックアップ リソース内にどの ownerReference を配置する必要があるかを示します。<br /> - none: 作成されたバックアップ オブジェクトの所有者参照はありません (フィールドが導入される前と同じ動作)<br /> - self: スケジュールされたバックアップ オブジェクトを所有者として設定します。バックアップの<br /> - クラスター: クラスターをバックアップの所有者として設定します<br />

string

`target `

このバックアップを実行するインスタンスを決定するポリシー。空の場合、デフォルトで cluster.spec.backup.target になります。利用可能なオプションは空の文字列で、デフォルトで primary ポリシーに設定されます。primary は常にプライマリ インスタンスでバックアップを実行し、prefer-standby は可能な場合は最新のスタンバイでバックアップを実行することを推奨します。

BackupTarget

スケジュールされたバックアップの状態

ScheduledBackupStatus は、ScheduledBackup の監視状態を定義します

Name

Description

Type

`lastCheckTime `

スケジュールの最終時刻

*metav1.Time

lastScheduleTime

バックアップが最後に正常にスケジュールされたときの情報。

*metav1.Time

nextScheduleTime

次回はバックアップを実行します

*metav1.Time

シークレットキーセレクター

SecretKeySelector には、シークレットのキーを見つけるのに十分な情報が含まれています

Name

Description

Type

key

選択するキー - 必須

string

シークレットバージョン

SecretVersion にはシークレット名とその ResourceVersion が含まれます

Name

Description

Type

`name `

秘密の名前

string

version

シークレットの ResourceVersion

string

SecretsResourceVersion

SecretsResourceVersion は、オペレーターが管理するシークレットのリソース バージョンです。

Name

Description

Type

`superuserSecretVersion `

「postgres」ユーザー シークレットのリソース バージョン

string

replicationSecretVersion

「streaming_replica」ユーザー シークレットのリソース バージョン

string

applicationSecretVersion

「アプリ」ユーザー シークレットのリソース バージョン

string

`caSecretVersion `

未使用。古いバージョンとの互換性のために保持されています。

string

`clientCaSecretVersion `

PostgreSQL クライアント側 CA シークレット バージョンのリソース バージョン

string

`serverCaSecretVersion `

PostgreSQL サーバー側 CA シークレット バージョンのリソース バージョン

string

`serverSecretVersion `

PostgreSQL サーバー側シークレット バージョンのリソース バージョン

string

`barmanEndpointCA `

Barman Endpoint CA のリソース バージョン (提供されている場合)

string

`metrics `

メトリックを渡すために使用されるすべてのシークレットのバージョンを含むマップ。マップ キーはシークレット名、マップ値はバージョンです

map[string]string

ServiceAccountTemplate

ServiceAccountTemplate には、サービス アカウントの生成に必要なテンプレートが含まれています

Name

Description

Type

metadata

メタデータは、生成されたサービス アカウントに使用されるメタデータです - 必須

クラスターのメタデータの定義

ストレージ構成

StorageConfiguration は、PostgreSQL インスタンスのストレージの構成です

Name

Description

Type

`storageClass `

データベース データ (PGDATA) に使用する StorageClass。利用可能な場合、PVC テンプレートを評価した後に適用されます。指定しない場合、生成された PVC はデフォルトのストレージ クラスによって満たされます。

*string

`size `

ストレージのサイズ。 PVC テンプレートでまだ指定されていない場合は必須です。このフィールドへの変更は、作成された PVC に自動的に再適用されます。サイズダウン不可。

string

resizeInUseVolumes

既存の PVC のサイズを変更します。デフォルトは true です

*bool

`pvcTemplate `

Persistent Volume Claim の生成に使用するテンプレート

*corev1.PersistentVolumeClaimSpec

SyncReplicaElectionConstraints

SyncReplicaElectionConstraints には、同期レプリカの選択に関する制約が含まれています。

アンチアフィニティ パラメーターの場合、すべてのラベル値が一致する場合、2 つのインスタンスが同じ場所にあると見なされます。

将来的には、名前による同期レプリカの選択制限がサポートされる予定です。

Name

Description

Type

`enabled `

このフラグは、同期レプリカの制約を有効にします - 必須

bool

nodeLabelsAntiAffinity

Pod が同じトポロジに存在するかどうかを評価するために抽出および比較するノード ラベル値のリスト

[]string

トポロジー

トポロジにはクラスタ トポロジが含まれます

Name

Description

Type

successfullyExtracted

SuccessfullyExtracted は、トポロジ データが抽出されたかどうかを示します。障害が発生した場合に、同期レプリカの選択でフォールバック動作を制定すると便利です

bool

`instances `

インスタンスには、インスタンスのポッド トポロジが含まれています

map[PodName]PodTopologyLabels

WalBackupConfiguration

WalBackupConfiguration は、WAL ストリームのバックアップの構成です

Name

Description

Type

compression

オブジェクトストアに送信する前に WAL ファイルを圧縮します。利用可能なオプションは、空の文字列 (圧縮なし、デフォルト)、gzip、bzip2、または snappy です。

CompressionType

`encryption `

ファイルの暗号化を強制する場合 (バケットがまだそのように構成されていない場合)。許可されているオプションは、空の文字列 (バケット ポリシーを使用、デフォルト)、AES256 および aws:kms です。

EncryptionType

maxParallel

並行してアーカイブされる (PostgreSQL インスタンスがバックアップ オブジェクト ストアにアーカイブしている場合)、または並行して復元される (PostgreSQL スタンバイが復旧オブジェクト ストアから WAL ファイルをフェッチしている場合) WAL ファイルの数。指定しない場合、WAL ファイルは一度に 1 つずつ処理されます。値として正の整数を受け入れます。受け入れられる最小値は 1 です。

int