CloudNativePG#
CloudNativePG は、オープンソース operator
プライベート、パブリック、ハイブリッド、またはマルチクラウド環境で実行されているサポートされている Kubernetes クラスターで PostgreSQL ワークロードを管理するように設計されています。 CloudNativePGは、宣言的構成や不変のインフラストラクチャなどのDevOpsの原則と概念を遵守しています。
Cluster
と呼ばれる新しいKubernetesリソースを定義します。高可用性と読み取り専用クエリのオフロードのために、選択したKubernetes名前空間に共存する単一のプライマリとオプションの数のレプリカで構成されるPostgreSQLクラスターを表します。
同じKubernetesクラスターにあるアプリケーションは、オペレーターによってのみ管理されるサービスを使用してPostgreSQLデータベースにアクセスでき、フェールオーバーまたはスイッチオーバーに続くプライマリロールの変更を心配する必要はありません。 Kubernetesクラスターの外部にあるアプリケーションは、TCP経由でPostgresを公開するようにServiceまたはIngressオブジェクトを構成する必要があります。 Webアプリケーションは、PgBouncerに基づいたネイティブ接続プーラーを利用できます。
CloudNativePGは、もともと EDB によってビルドされ、その後、Apache License 2.0の下でオープンソースをリリースし、2022年4月にCNCFサンドボックスに提出されました。
注釈
Operator Capability Levels model に基づいて、ユーザーはCloudNativePGオペレーターからの**「レベルV - 自動パイロット」**機能セットを期待できます。
- 主な機能
- 始める前に
- ユースケース
- アーキテクチャ
- インストールとアップグレード
- クイックスタート
- Bootstrap
- Postgresデータベースのインポート
- セキュリティ
- Postgresインスタンスマネージャー
- スケジューリング
- リソース管理
- 障害モード
- ローリングアップデート
- レプリケーション
- バックアップ
- オブジェクトストアのバックアップ
- WALアーカイブ
- ボリュームスナップショットのバックアップ
- リカバリー
- バックアップ リカバリー
- PostgreSQLの構成
- データベースロール管理
- オペレーター設定
- インスタンスポッド構成
- ストレージ
- ラベルとアノテーション
- モニタリング
- ロギング
- 証明書
- クライアントTLS/SSL接続数
- アプリケーションから接続する
- 接続プーリング
- レプリカクラスター
- Kubernetesのアップグレード
- Postgresサービスの公開
- Kubectlプラグイン
- 自動フェイルオーバー
- 障害対応
- フェンシング
- 宣言ハイバーネーション
- PostGIS
- エンドツーエンドテスト
- コンテナイメージの要件
- オペレーター能力レベル
- レベル1:基本的なインストール
- 宣言的構成を介したOperatorの展開
- 宣言的構成を介したPostgreSQLクラスターの展開
- CRDを介したオペランドイメージのオーバーライド
- ラベルとアノテーション
- 自己完結型インスタンスマネージャー
- ストレージ構成
- レプリカ構成
- データベース構成
- Postgresのロール、ユーザー、グループの構成
- ポッドセキュリティポリシー
- アフィニティ
- トポロジスプレッドコンストレイン
- コマンドラインインターフェイス
- クラスターの現在のステータス
- オペレーターの認証局
- クラスターの認証局
- TLS接続
- ストリーミングレプリケーションの証明書認証
- 継続的な構成管理
- 既存のPostgreSQLデータベースのインポート
- PostGISクラスター
- PostgreSQLの基本的なLDAP認証
- 複数のインストール方法
- 構成より規約
- レベル2:シームレスなアップグレード
- レベル3:完全なライフサイクル
- PostgreSQL WALアーカイブ
- PostgreSQLのバックアップ
- スタンバイからのバックアップ
- バックアップからの完全な復元
- バックアップからのポイントインタイムリカバリーPITR
- 同期レプリケーションを介したゼロデータ損失クラスター
- レプリカクラスター
- Livenessおよびreadnessプローブ
- ローリング展開
- レプリカのスケールアップとスケールダウン
- KubernetesノードのメンテナンスウィンドウとPodDisruptionBudget
- フェンシング
- ハイバネーション宣言的
- ハイバネーション(必須)
- ポッドの永続ボリュームストレージの再利用
- CPUとメモリの要求と制限
- PgBouncerを使用した接続プーリング
- レベル4 深い洞察
- レベル5 オートパイロット
- レベル1:基本的なインストール
- カスタムポッドコントローラ
- 例
- ネットワーキング
- ベンチマーク
- コマーシャルサポート
- よくある質問FAQ
- APIリファレンス
- リソースタイプ
- Backup
- クラスター
- プーラー
- ScheduledBackup
- AffinityConfiguration
- AzureCredentials
- BackupConfiguration
- BackupMethod {#postgresql-cnpg-io-v1-BackupMethod}
stringのエイリアス - BackupPhase {#postgresql-cnpg-io-v1-BackupPhase}
stringのエイリアス - BackupSnapshotElementStatus
- BackupSnapshotStatus
- BackupSource
- BackupSpec
- BackupStatus
- BackupTarget {#postgresql-cnpg-io-v1-BackupTarget}
stringのエイリアス - BarmanCredentials
- BarmanObjectStoreConfiguration
- BootstrapConfiguration
- BootstrapInitDB
- BootstrapPgBaseBackup
- BootstrapRecovery
- CertificatesConfiguration
- CertificatesStatus
- ClusterSpec
- ClusterStatus
- CompressionType {#postgresql-cnpg-io-v1-CompressionType}
stringのエイリアス - ConfigMapKeySelector
- ConfigMapResourceVersion
- DataBackupConfiguration
- DataSource
- EmbeddedObjectMetadata
- EncryptionType {#postgresql-cnpg-io-v1-EncryptionType}
stringのエイリアス - EnsureOption {#postgresql-cnpg-io-v1-EnsureOption}
stringのエイリアス - Ephemeral VolumesSizeLimitConfiguration {#postgresql-cnpg-io-v1-Ephemeral VolumesSizeLimitConfiguration}
- 外部クラスター
- GoogleCredentials
- Import
- ImportSource
- インスタンスID
- InstanceReportedState
- LDAPBindAsAuth
- LDAPBindSearchAuth
- LDAPConfig
- LDAPScheme {#postgresql-cnpg-io-v1-LDAPScheme}
stringのエイリアス - LocalObjectReference
- ManchedConfiguration
- ManchedRoles
- メタデータ
- MonitoringConfiguration
- NodeMaintenanceWindow
- PasswordState
- PgBouncerIntegrationStatus
- PgBouncerPoolMode {#postgresql-cnpg-io-v1-PgBouncerPoolMode}
stringのエイリアス - PgBouncerSecrets
- PgBouncerSpec
- PodTemplateSpec
- PodTopologyLabels {#postgresql-cnpg-io-v1-PodTopologyLabels}
map[string]stringのエイリアス - PoolerIntegrations
- PoolerMonitoringConfiguration
- PoolerSecrets
- PoolerSpec
- PoolerStatus
- PoolerType {#postgresql-cnpg-io-v1-PoolerType}
stringのエイリアス - PostInitApplicationSQLRefs
- PostgresConfiguration
- PrimaryUpdateMethod {#postgresql-cnpg-io-v1-PrimaryUpdateMethod}
stringのエイリアス - PrimaryUpdateStrategy {#postgresql-cnpg-io-v1-PrimaryUpdateStrategy}
stringのエイリアス - RecoveryTarget
- ReplicaClusterConfiguration
- ReplicationSlotsConfiguration
- ReplicationSlotsHAConfiguration
- RoleConfiguration
- S3Credentials
- ScheduledBackupSpec
- ScheduledBackupStatus
- SecretKeySelector
- SecretVersion
- SecretsResourceVersion
- ServiceAccountTemplate
- SnapshotOwnerReference {#postgresql-cnpg-io-v1-SnapshotOwnerReference}
stringのエイリアス - SnapshotType {#postgresql-cnpg-io-v1-SnapshotType}
stringのエイリアス - StorageConfiguration
- SyncReplicaElectionConstraints
- トポロジ
- VolumeSnapshotConfiguration {#postgresql-cnpg-io-v1- VolumeSnapshotConfiguration}
- WalBackupConfiguration
- サポートされているリリース
- リリースノート
- 付録A-バックアップ用の共通オブジェクトストア