APIリファレンス

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

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

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

以下に、定義されたリソースの説明があります。

AffinityConfiguration

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

Name

Description

Type

`enablePodAntiAffinity `

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

*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は、汚染されたノードで実行できるようにすべてのポッドに設定する必要があるTolerationsのリストです。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

[]corev1.Toleration

`podAntiAffinityType `

PodAntiAffinityTypeを使用すると、ユーザーは、クラスターインスタンス間のポッドの非アフィニティーをスケジューリング中に強力な要件と見なす必要があるかどうかを決定できます。許可される値は次のとおりです。「preferred」(空の場合のデフォルト)または「required」。 「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つ(および1つだけ)が必要です。

  • storageKey - storageSasToken

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

Name

Description

Type

`connectionString `

使用する接続文字列

networking page

`storageAccount `

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

networking page

`storageKey `

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

networking page

`storageSasToken `

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

networking page

inheritFromAzureAD

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

bool

バックアップ

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

Name

Description

Type

metadata

該当なし

networking page

`spec `

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

BackupSpec

`status `

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

BackupStatus

BackupConfiguration

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

Name

Description

Type

barmanObjectStore

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

networking page

`retentionPolicy `

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

string

`target `

バックアップを実行するインスタンスを決定するポリシー。利用可能なオプションは空の文字列で、デフォルトは`prefer-standby`ポリシーになります。`primary`はバックアップを常にプライマリインスタンスで実行します。 `prefer-standby`はできれば最新のスタンバイでバックアップを実行します。

BackupTarget

バックアップリスト

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

Name

Description

Type

metadata

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

networking page

`items `

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

networking page

バックアップソース

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

Name

Description

Type

endpointCA

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

networking page

BackupSpec

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

Name

Description

Type

cluster

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

LocalObjectReference

`target `

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

BackupTarget

BackupStatus

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

Name

Description

Type

`endpointCA `

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

networking page

`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 `

バックアップが開始された日時

networking page

`stoppedAt `

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

networking page

`beginWal `

開始WAL

string

`endWal `

エンディングWAL

string

`beginLSN `

開始のxlog

string

`endLSN `

エンディングxlog

string

`error `

検出されたエラー

string

`commandOutput `

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

string

`commandError `

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

string

`instanceID `

バックアップの取得元のインスタンスを特定する情報

networking page

BarmanCredentials

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

Name

Description

Type

googleCredentials

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

networking page

`s3Credentials `

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

networking page

`azureCredentials `

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

networking page

BarmanObjectStoreConfiguration

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

Name

Description

Type

`endpointURL `

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

string

`endpointCA `

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

networking page

destinationPath

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

string

`serverName `

S3上のサーバー名、このパラメーターを省略するとクラスター名が使用されます

string

`wal `

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

networking page

`data `

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

networking page

`tags `

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

map[string]string

`historyTags `

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

map[string]string

BootstrapConfiguration

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

Name

Description

Type

`initdb `

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

networking page

`recovery `

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

networking page

pg_basebackup

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

networking page

BootstrapInitDB

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

Name

Description

Type

`database `

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

string

`owner `

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

string

`secret `

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

networking page

`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インスタンスからデータをインポートすることにより、新しいクラスターをブートストラップします

networking page

postInitApplicationSQLRefs

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

networking page

BootstrapPgBaseBackup

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

Name

Description

Type

`source `

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

string

database

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

string

`owner `

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

string

`secret `

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

networking page

BootstrapRecovery

BootstrapRecoveryには、外部クラスター、ボリュームスナップショット、またはバックアップオブジェクトの3つの方法を使用して既存のクラスターから復元するために必要な構成が含まれています。完全復旧とポイントインタイム復旧がサポートされています。この方法は、連続リカバリー(レプリカクラスター)でクラスターを作成するためにも使用でき、 instances > 1の場合、カスケードレプリケーションもサポートします。 クラスターがリカバリーを終了すると、スーパーユーザーのパスワードは、指定されたシークレットを介して変更されます。詳細については、ドキュメントのBootstrapページを参照してください。

Name

Description

Type

`backup `

リカバリ手順を開始する物理ベースバックアップを含むバックアップオブジェクト。 `source`および`volumeSnapshots`とは相互に排他的です。

networking page

`source `

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

string

volumeSnapshots

リカバリ手順を開始する静的PVCデータソース。現在、CloudNativePGと互換性のある既存のPVCグループをマッピングし、フェンスで囲まれたPostgresインスタンスのコールドバックアップコピーで取得する`VolumeSnapshot`および`PersistentVolumeClaim`リソースをサポートしています(オンラインバックアップが実装されるときに将来削除される制限)。 `backup`および`source`とは相互に排他的です。

networking page

`recoveryTarget `

デフォルトでは、回復プロセスはアーカイブ内の利用可能なすべてのWALファイルを適用します(完全回復)。ただし、PostgreSQLで予想されるように、 `RecoveryTarget`オブジェクト(つまり、タイムスタンプ、トランザクションID、LSN、.. 。)。詳細: https://www.postgresql.org/docs/current/runtime-config-wal.html#RUNTIME-CONFIG-WAL-RECOVERY-TARGET

networking page

`database `

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

string

`owner `

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

string

`secret `

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

networking page

CertificatesConfiguration

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に安全に接続できるように、 `ssl_cert_file`および`ssl_key_file`として設定されるサーバーTLS証明書とキーを含む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

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

Name

Description

Type

expirations

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

map[string]string

クラスター

ClusterはPostgreSQL APIのスキーマです

Name

Description

Type

metadata

該当なし

networking page

`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には、クラスターのリストが含まれています

Name

Description

Type

metadata

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

networking page

`items `

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

networking page

ClusterSpec

ClusterSpecは、クラスターの望ましい状態を定義します

Name

Description

Type

`description `

このPostgreSQLクラスターの説明

string

`inheritedMetadata `

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

networking page

`imageName `

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

string

`imagePullPolicy `

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

corev1.PullPolicy

`schedulerName `

指定すると、ポッドは指定されたKubernetesスケジューラによってディスパッチされます。指定しない場合、ポッドはデフォルトのスケジューラーによってディスパッチされます。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/

string

`postgresUID `

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

int64

`postgresGID `

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

int64

`instances `

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

int

`minSyncReplicas `

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

int

`maxSyncReplicas `

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

int

`postgresql `

PostgreSQLサーバーの構成

PostgresConfiguration

`replicationSlots `

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

networking page

`bootstrap `

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

networking page

`replica `

レプリカクラスター構成

networking page

`superuserSecret `

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

networking page

`enableSuperuserAccess `

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

*bool

`certificates `

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

networking page

`imagePullSecrets `

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

networking page

`storage `

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

StorageConfiguration

`serviceAccountTemplate `

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

networking page

`walStorage `

PostgreSQL WAL(ログ先行書き込み)のストレージの構成

networking page

`startDelay `

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

int32

`stopDelay `

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

int32

`switchoverDelay `

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

int32

`failoverDelay `

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

int32

`affinity `

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

AffinityConfiguration

topologySpreadConstraints

TopologySpreadConstraintsは、指定されたトポロジー間で一致するポッドを広げる方法を指定します。詳細: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/

[]corev1.TopologySpreadConstraint

`resources `

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

networking page

`priorityClassName `

生成されたすべてのPodで使用される優先度クラスの名前。指定されたPriorityClassが存在しない場合、Podはスケジュールできません。詳細については、 https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass を参照してください。

string

`primaryUpdateStrategy `

すべてのレプリカが正常に更新された後、ローリング更新手順中にプライマリサーバーをアップグレードするために従う展開戦略:自動(unsupervised - default)または手動(supervised)できます

PrimaryUpdateStrategy

`primaryUpdateMethod `

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

PrimaryUpdateMethod

`backup `

バックアップに使用される構成

networking page

`nodeMaintenanceWindow `

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

networking page

`monitoring `

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

networking page

`externalClusters `

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

networking page

`logLevel `

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

string

`projectedVolumeTemplate `

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

*corev1.ProjectedVolumeSource

`env `

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

[]corev1.EnvVar

`envFrom `

EnvFromはEnvFromフォーマットに従って、環境変数ソースをEnvで使用されるポッドに渡します

[]corev1.EnvFromSource

`managed `

インスタンスマネージャーによって管理されるPostgreSQLの部分によって使用される構成

networking page

`seccompProfile `

すべてのPodとContainerに適用されるSeccompProfile。デフォルト:RuntimeDefault

*corev1.SeccompProfile

ClusterStatus

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

Name

Description

Type

`instances `

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

int

`readyInstances `

クラスター内の準備ができたインスタンスの合計数。レディインスタンスポッドの数と同じです。

int

`instancesStatus `

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

map[utils.PodStatus][]string

`instancesReportedState `

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

networking page

`managedRolesStatus `

ManagedRolesStatusは、クラスター内の管理対象ロールの状態を報告します

管理対象ロール

`timelineID `

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

int

`topology `

インスタンストポロジ。

トポロジー

`latestGeneratedNode `

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

int

`currentPrimary `

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

string

`targetPrimary `

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

string

`pvcCount `

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

int32

`jobCount `

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

int32

`danglingPVC `

このクラスターによって作成され、まだ利用可能な、ポッドに接続されていないすべての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のリソースバージョンのリスト。ここでのすべての変更は、構成マップデータを更新するインスタンスマネージャーの利益のために行われます

ConfigMapResourceVersion

`certificates `

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

CertificatesStatus

`firstRecoverabilityPoint `

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

string

`lastSuccessfulBackup `

RFC3339形式の日付として保存

string

`lastFailedBackup `

RFC3339形式の日付として保存

string

`cloudNativePGCommitHash `

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

string

`currentPrimaryTimestamp `

プライマリへの実際のプロモーションが最後に発生したときのタイムスタンプ

string

currentPrimaryFailingSinceTimestamp

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

string

`targetPrimaryTimestamp `

新しいプライマリに対する最後の要求が発生したときのタイムスタンプ

string

`poolerIntegrations `

クラスターを参照するプーラーに必要な統合

networking page

`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

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

データソース

DataSourceには、既存のストレージからPostgreSQLクラスターをブートストラップするために必要な構成が含まれています

Name

Description

Type

`storage `

インスタンスのストレージの構成 - 必須

corev1.TypedLocalObjectReference

walStorage

PostgreSQL WAL(ログ先行書き込み)のストレージの構成

*corev1.TypedLocalObjectReference

EmbeddedObjectMetadata

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

Name

Description

Type

`labels `

該当なし

map[string]string

annotations

該当なし

map[string]string

ExternalCluster

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

Name

Description

Type

`name `

サーバー名、必須- 必須

string

connectionParameters

dbname、host、usernameなどの接続パラメーターのリスト

map[string]string

`sslCert `

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

networking page

`sslKey `

このインスタンスへの接続に使用されるSSLプライベートキーへの参照

networking page

`sslRootCert `

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

networking page

`password `

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

networking page

`barmanObjectStore `

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

networking page

Google資格情報

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

Name

Description

Type

`gkeEnvironment `

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

bool

applicationCredentials

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

networking page

インポート

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

Name

Description

Type

`source `

インポートのソース - 必須

ImportSource

`type `

インポートタイプ。 `microservice`または`monolith`になります。 - 必須

SnapshotType

`databases `

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

[]string

`roles `

インポートするロール

[]string

postImportApplicationSQL

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

[]string

`schemaOnly `

trueに設定すると、 pg_restore`の`pre-data`および`post-data`セクションのみが呼び出され、データのインポートが回避されます。デフォルト:`false。

bool

ImportSource

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

bind認証オプションのプレフィックス

string

suffix

bind認証オプションのサフィックス

string

LDAPBindSearchAuth

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

Name

Description

Type

`baseDN `

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

string

`bindDN `

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

string

`bindPassword `

ディレクトリにバインドするユーザーのパスワードを持つシークレット

networking page

searchAttribute

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

string

`searchFilter `

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

string

LDAPConfig

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

Name

Description

Type

`server `

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

string

`port `

LDAPサーバーポート

int

`scheme `

使用するLDAPスキーマ、可能なオプションは`ldap`および`ldaps`です

LDAPScheme

`tls `

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

bool

`bindAsAuth `

認証構成としてバインド

networking page

bindSearchAuth

Bind+Search認証構成

networking page

LocalObjectReference

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

Name

Description

Type

name

レファレントの名前。 - 必須

string

ManagedConfiguration

ManagedConfigurationは、インスタンスマネージャーによって管理されるPostgreSQLの部分を表します

Name

Description

Type

roles

`Cluster`によって管理されるデータベースロール

networking page

管理対象ロール

ManagedRolesは、クラスターの管理対象ロールのステータスを追跡します

Name

Description

Type

`byStatus `

ByStatusは、各状態のロールのリストを提供します

map[RoleStatus][]string

cannotReconcile

CannotReconcileは、PostgreSQLで調整できないロールを、その原因の説明とともにリストします

map[string][]string

`passwordStatus `

PasswordStatusは、管理対象ロールごとに最後のトランザクションIDとパスワードのシークレットバージョンを提供します

networking page

メタデータ

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

Name

Description

Type

`labels `

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

map[string]string

annotations

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

map[string]string

MonitoringConfiguration

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

Name

Description

Type

`disableDefaultQueries `

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

*bool

customQueriesConfigMap

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

networking page

`customQueriesSecret `

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

networking page

`enablePodMonitor `

`PodMonitor`を有効または無効にします

bool

NodeMaintenanceWindow

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

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

Name

Description

Type

inProgress

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

bool

`reusePVC `

既存のPVCを再利用する(ノードが再び立ち上がるのを待つ)か、しない(他の場所で再作成する - instances >1の場合) - 必須

*bool

PasswordState

PasswordStateは、管理対象RoleConfigurationのパスワードの状態を表します

Name

Description

Type

`transactionID `

PostgreSQLのロール定義に影響を与える最後のトランザクションID

int64

resourceVersion

パスワードシークレットのリソースバージョン

string

PgBouncerIntegrationStatus

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

Name

Description

Type

secrets

該当なし

[]string

PgBouncerSecrets

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

Name

Description

Type

authQuery

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

SecretVersion

PgBouncerSpec

PgBouncerSpecは、PgBouncerの構成方法を定義します

Name

Description

Type

`poolMode `

プールモード - 必須

PgBouncerPoolMode

authQuerySecret

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

networking page

`authQuery `

特定のユーザーのパスワードのハッシュをダウンロードするために使用されるクエリ。デフォルト: "SELECT usename、passwd 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- operator/prometheus-operator/issues/3041

Name

Description

Type

metadata

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

EmbeddedObjectMetadata

`spec `

ポッドの目的の動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

corev1.PodSpec

プーラー

Poolerはpoolers APIのスキーマです

Name

Description

Type

metadata

該当なし

networking page

`spec `

該当なし

PoolerSpec

`status `

該当なし

PoolerStatus

PoolerIntegrations

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

Name

Description

Type

pgBouncerIntegration

該当なし

PgBouncerIntegrationStatus

PoolerList

PoolerListには、プーラーのリストが含まれています

Name

Description

Type

metadata

該当なし

networking page

`items `

  • 必須

networking page

PoolerMonitoringConfiguration

PoolerMonitoringConfigurationは、特定のプーラーのすべての監視構成を含むタイプです。

クラスターのMonitoringConfigurationをミラーリングしますが、今のところカスタムクエリ部分はありません。

Name

Description

Type

enablePodMonitor

`PodMonitor`を有効または無効にします

bool

PoolerSecrets

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

Name

Description

Type

`serverTLS `

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

SecretVersion

`serverCA `

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

SecretVersion

`clientCA `

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

SecretVersion

pgBouncerSecrets

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

networking page

PoolerSpec

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

Name

Description

Type

`cluster `

これは、プーラーが動作するクラスター参照です。プーラー名は、同じ名前空間内のクラスター名と一致しないでください。 - 必須

LocalObjectReference

`type `

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

PoolerType

`instances `

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

int32

`template `

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

networking page

`pgbouncer `

PgBouncer構成 - 必須

networking page

deploymentStrategy

pgbouncerが既存のポッドを新しいポッドに置き換えるために使用するデプロイ戦略

*appsv1.DeploymentStrategy

`monitoring `

このプーラーの監視インフラストラクチャの構成。

networking page

PoolerStatus

PoolerStatusは、プーラーの監視状態を定義します

Name

Description

Type

`secrets `

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

networking page

instances

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

int32

PostInitApplicationSQLRefs

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

Name

Description

Type

`secretRefs `

SecretRefsはSecretsへの参照のリストを保持します

networking page

configMapRefs

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

networking page

PostgresConfiguration

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構成を指定するオプション

networking page

RecoveryTarget

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

Name

Description

Type

`backupID `

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

string

`targetTLI `

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

string

`targetXID `

対象トランザクションID

string

`targetName `

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

string

`targetLSN `

ターゲットLSN(Log Sequence Number)

string

`targetTime `

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

string

targetImmediate

一貫した状態に達したらすぐにリカバリを終了します

*bool

`exclusive `

ターゲットを排他的に設定します。省略すると、デフォルトでfalseになるため、Postgresでは recovery_target_inclusive はtrueになります

*bool

ReplicaClusterConfiguration

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

Name

Description

Type

enabled

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

bool

`source `

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

string

ReplicationSlotsConfiguration

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

Name

Description

Type

highAvailability

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

networking page

`updateInterval `

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

int

ReplicationSlotsHAConfiguration

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

Name

Description

Type

`enabled `

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

*bool

slotPrefix

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

string

RoleConfiguration

RoleConfigurationは、Kubernetesでの、追加フィールドを備えたPostgreSQLロールの表現ですデータベース内のロールの有無を保証するかどうかを指定するEnsure

CREATE ROLEコマンドのデフォルトが適用されます 参考:https://www.postgresql.org/docs/current/sql-createrole.html

Name

Description

Type

`name `

ロールの名前 - 必須

string

`comment `

役割の説明

string

`ensure `

ロールが`present`または`absent`であることを確認します-デフォルトは「present」

EnsureOption

`passwordSecret `

ロールのパスワードを含むシークレット(存在する場合) nullの場合、DisablePasswordが設定されていない限り、パスワードは無視されます

networking page

disablePassword

DisablePasswordは、PostgresでロールのパスワードをNULLに設定する必要があることを示します

bool

`superuser `

ロールがデータベース内のすべてのアクセス制限をオーバーライドできる`superuser`であるかどうか-スーパーユーザーステータスは危険であり、本当に必要な場合にのみ使用する必要があります。新しいスーパーユーザーを作成するには、自分がスーパーユーザーである必要があります。デフォルトは`false`です。

bool

`createdb `

`true`に設定すると、定義されているロールは新しいデータベースを作成できます。 `false`(デフォルト)を指定すると、ロールはデータベースを作成する機能を拒否されます。

bool

`createrole `

ロールが他のロールの作成、変更、ドロップ、コメント、セキュリティラベルの変更、および他のロールのメンバーシップの付与または取り消しを許可されるかどうか。デフォルトは`false`です。

bool

`inherit `

ロールがメンバーであるロールの特権を「継承」するかどうか。デフォルトは`true`です。

*bool

`login `

ロールにログインが許可されているかどうか。 `login`属性を持つロールは、ユーザーと見なすことができます。この属性のないロールは、データベース権限の管理に役立ちますが、通常の意味でのユーザーではありません。デフォルトは`false`です。

bool

`replication `

ロールがレプリケーションロールかどうか。レプリケーションモード(物理または論理レプリケーション)でサーバーに接続し、レプリケーションスロットを作成またはドロップできるようにするには、ロールがこの属性を持っている(またはスーパーユーザーである)必要があります。 `replication`属性を持つロールは非常に高い特権のロールであり、実際にレプリケーションに使用されるロールでのみ使用する必要があります。デフォルトは`false`です。

bool

`bypassrls `

ロールがすべての行レベルセキュリティ(RLS)ポリシーをバイパスするかどうか。デフォルトは`false`です。

bool

connectionLimit

ロールがログインできる場合、これはロールが作成できる同時接続の数を指定します。 -1 (デフォルト)は制限がないことを意味します。

int64

`validUntil `

ロールのパスワードが無効になる日時。省略すると、パスワードは無期限になります(デフォルト)。

networking page

`inRoles `

このロールが新しいメンバーとしてすぐに追加される1つ以上の既存のロールのリスト。デフォルトは空です。

[]string

RollingUpdateStatus

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

Name

Description

Type

imageName

Podに入れる画像 - 必須

string

startedAt

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

networking page

S3資格情報

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

  • accessKeyIdとsecretAccessKeyを明示的に渡す

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

Name

Description

Type

`accessKeyId `

アクセスキーIDへの参照

networking page

`secretAccessKey `

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

networking page

`region `

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

networking page

`sessionToken `

セッションキーへの参照

networking page

inheritFromIAMRole

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

bool

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

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

Name

Description

Type

metadata

該当なし

networking page

`spec `

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

ScheduledBackupSpec

`status `

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

ScheduledBackupStatus

ScheduledBackupList

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

Name

Description

Type

metadata

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

networking page

`items `

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

networking page

ScheduledBackupSpec

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`および`prefer-standby`です。 `primary`は常にプライマリインスタンスでバックアップを実行します。 `prefer-standby`はできれば最新のスタンバイでバックアップを実行します(可能な場合)。

BackupTarget

ScheduledBackupStatus

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

Name

Description

Type

`lastCheckTime `

スケジュールの最終時刻

networking page

lastScheduleTime

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

networking page

nextScheduleTime

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

networking page

SecretKeySelector

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

Name

Description

Type

key

選択するキー - 必須

string

SecretVersion

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

Name

Description

Type

`name `

秘密の名前

string

version

シークレットの ResourceVersion

string

SecretsResourceVersion

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

Name

Description

Type

`superuserSecretVersion `

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

string

replicationSecretVersion

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

string

applicationSecretVersion

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

string

managedRoleSecretVersion

管理対象ロールシークレットのリソースバージョン

map[string]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

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

EmbeddedObjectMetadata

StorageConfiguration

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

Name

Description

Type

`storageClass `

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

*string

`size `

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

string

resizeInUseVolumes

既存のPVCのサイズを変更、デフォルトはtrue

*bool

`pvcTemplate `

永続ボリューム要求の生成に使用されるテンプレート

networking page

SyncReplicaElectionConstraints

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

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

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

Name

Description

Type

`enabled `

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

bool

nodeLabelsAntiAffinity

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

[]string

トポロジー

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

Name

Description

Type

successfullyExtracted

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

bool

`instances `

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

map[PodName]PodTopologyLabels

`nodesUsed `

NodesUsedは、インスタンスを収容する個別のノードの数を表します。値「1」は、すべてのインスタンスが単一のノードでホストされていることを示し、高可用性(HA)がないことを意味します。理想的には、この値はPostgres HAクラスター内のインスタンス数と同じである必要があり、コンピューティング側で何も共有されないアーキテクチャを意味します。

int32

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