API リファレンス¶
CloudNativePG は、次のカスタム リソースを定義する Kubernetes API を拡張します。
バックアップからのブートストラップ (`recovery )<バックアップからのブートストラップ (recovery )>`
すべてのリソースは postgresql.cnpg.io/v1 API で定義されています。
使用例については、ドキュメントの Configuration Samples “を参照してください。
以下に、定義されたリソースの説明を示します。
バックアップからのブートストラップ (`recovery )<バックアップからのブートストラップ (recovery )>`
:ref:``externalClusters` セクション<externalClusters セクション>`
アフィニティ構成¶
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 |
|
`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 |
|
`items ` |
バックアップのリスト - 必須 |
[]Backup |
バックアップソース¶
BackupSource には、復元する必要があるバックアップと、それを正しく復元するために必要な情報が含まれています。
Name |
Description |
Type |
|---|---|---|
endpointCA |
EndpointCA は、barman エンドポイントの CA バンドルを格納します。証明書発行者と barman-cloud-wal-archive でのエラーを回避するために自己署名証明書を使用する場合に役立ちます。 |
*SecretKeySelector |
バックアップ仕様¶
BackupSpec は、バックアップの望ましい状態を定義します
Name |
Description |
Type |
|---|---|---|
cluster |
バックアップするクラスター |
|
`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 ` |
バックアップが開始されたとき |
|
`stoppedAt ` |
バックアップが終了したとき |
|
`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 |
|
`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 |
ClusterList¶
ClusterList には Cluster のリストが含まれています
Name |
Description |
Type |
|---|---|---|
metadata |
標準リスト メタデータ。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
`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 サーバーの構成 |
|
`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/ を参照してください。 |
|
`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 ` |
オペレーターが管理するシークレットのリソース バージョンのリスト。ここでのすべての変更は、シークレット データを更新するインスタンス マネージャーのために行われます。 |
|
`configMapResourceVersion ` |
オペレーターによって管理される configmap のリソース バージョンのリスト。ここでのすべての変更は、configmap データを更新するインスタンス マネージャーのために行われます。 |
|
`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 証明書への参照 |
|
`sslKey ` |
このインスタンスへの接続に使用される SSL 秘密鍵への参照 |
|
`sslRootCert ` |
このインスタンスへの接続に使用される SSL CA 公開鍵への参照 |
|
`password ` |
サーバーへの接続に使用するパスワードへの参照 |
|
`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 ` |
ユーザーがディレクトリにバインドするためのパスワードを含むシークレット |
|
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 |
|
`spec ` |
NA |
|
`status ` |
NA |
プーラー統合¶
PoolerIntegrations は、クラスターを参照するプーラーに必要な統合をカプセル化します
Name |
Description |
Type |
|---|---|---|
pgBouncerIntegration |
NA |
プーラーリスト¶
PoolerList には Pooler のリストが含まれています
Name |
Description |
Type |
|---|---|---|
metadata |
NA |
|
`items ` |
|
[]Pooler |
PoolerSecrets¶
PoolerSecrets には、使用されるすべてのシークレットのバージョンが含まれています
Name |
Description |
Type |
|---|---|---|
`serverTLS ` |
サーバーの TLS シークレット バージョン |
|
`serverCA ` |
サーバー CA シークレット バージョン |
|
`clientCA ` |
クライアント CA シークレット バージョン |
|
pgBouncerSecrets |
PgBouncer が使用するシークレットのバージョン |
*PgBouncerSecrets |
プーラースペック¶
PoolerSpec は、プーラーの望ましい状態を定義します
Name |
Description |
Type |
|---|---|---|
`cluster ` |
これは、プーラーが機能するクラスター参照です。プーラー名は、同じ名前空間内のどのクラスター名とも一致しないはずです。 - 必須 |
|
`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」パラメーターの設定方法に影響します。 |
|
`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 |
アップデートが開始されたとき |
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 |
|
`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 |
|
`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 ` |
バックアップするクラスター |
|
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 ` |
スケジュールの最終時刻 |
|
lastScheduleTime |
バックアップが最後に正常にスケジュールされたときの情報。 |
|
nextScheduleTime |
次回はバックアップを実行します |
シークレットキーセレクター¶
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 の生成に使用するテンプレート |
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 |