エンドツーエンドテスト
CloudNativePGは、オペレーターがPostgreSQLクラスターを正しく展開および管理していることを確認する一連の エンドツーエンドE2Eテスト または統合テストを介して、各コミットの後に自動的にテストされます。
Kubernetesバージョン1.27〜1.32、およびPostgreSQLバージョン13〜17は、コミットごとにテストされ、開発プロセスの初期段階でバグを検出するのに役立ちます。
KubernetesとPostgreSQLのテストされたバージョンごとに、 kind を使用してKubernetesクラスターが作成され、GitHub Actionsプラットフォームで実行され、そのクラスターで次のE2Eテストスイートが実行されます。
- 基本
Operator
のインストール Cluster
の作成 データストレージ用の永続ボリュームの使用
- サービス接続
読み取り専用を含むサービスを介した接続
ユーザー提供のサーバーおよび/またはクライアント証明書を介した接続
PgBouncer
- 自己修復
フェールオーバー
スイッチオーバー
10秒未満でフェールオーバーの場合のプライマリエンドポイントスイッチ
20秒未満でスイッチオーバーの場合のプライマリエンドポイントスイッチ
60秒未満で低下した状態から回復b_tran_8 PVC削除b_tran_8 破損したPVC
- バックアップとリストア
ボリュームスナップショットからのバックアップと復元s
S3
でBarman Cloudを使用したバックアップとスケジュールバックアップの実行 Azure blob storageでBarman Cloudを使用したバックアップとスケジュールバックアップの実行
S3
でBarman Cloudを使用してバックアップから復元Barman Cloudを使用してバックアップから復元Azure blob storage
Azure、S3でのポイントインタイムリカバリPITR storage
Wal-Restoreシークエンシャル/パラレル
- オペレーター
オペレーターの展開
ConfigMapedによるオペレーター構成
オペレーターポッドの削除b_tran_7 オペレーターポッドのエビクション
オペレーターのアップグレードb_tran_7 オペレーターの高可用性
オブザーバビリティ
メトリック収集
PgBouncer Metrics
JSONログ形式
- レプリケーション
レプリケーションスロットs
同期レプリケーション
Cluster
のスケールアップおよびスケールダウン 宣言による論理レプリケーション パブリケーション/サブスクリプション
- レプリカクラスター
バックアップからのレプリカクラスターのブートストラップb_tran_5 ストリーミングを介したレプリカクラスターのブートストラップ
ボリュームスナップショットを介したブートストラップ
レプリカクラスターの切断
プラグイン
CNPGを使用したクラスターハイバネーション plugin
Fencing
接続証明書の作成
- Postgres構成
PostgreSQL構成の変更を管理する
PostgreSQL画像変更時のローリング更新
ImageCatalog/ClusterImageCatalog画像変更時のローリング更新
ホットスタンバイ依存のパラメーター変更のローリング更新
InitDBを介したデータベースの初期化
- ポッドのスケジューリング
許容範囲とテイントs
NodeSelectorを使用したポッドアフィニティ
PodSpecドリフト検出のローリング更新
インプレースアップグレード
マルチアーチの可用性
- クラスターメタデータ
クラスターラベルとアノテーションの構成マップ
オブジェクトメタデータ
リカバリー
データ破損
pg_basebackup
データベースのインポート
マイクロサービスのアプローチb_tran_3モノリスアプローチ
Storage:
ストレージ拡張
専用PG_WAL永続ボリューム
セキュリティ - AppArmorアノテーションの伝播。 Azure環境でのみ実行
- メンテナンス
メンテナンスウィンドウを使用したノードドレイン
シングルインスタンスクラスターを使用したノードドレイン ポッド中断バジェットの有無にかかわらず
冬眠 -宣言的ハイバーネーション/リハイドレーション
- ボリュームスナップショット
コールドおよびオンラインスナップショットのバックアップ/リストアs
コールドおよびオンラインスナップショットのポイントインタイムリカバリーs
コールドおよびオンラインスナップショットのプラグインを介したバックアップs
コールドおよびオンラインスナップショットの宣言的バックアップ
- 管理対象ロール
管理対象ロールの作成と更新
Kubernetesシークレットを使用したパスワードのメンテナンス
- テーブルスペース
テーブルスペースの宣言的な作成s
一時テーブルスペースの宣言的作成s
オブジェクトストレージからのバックアップ/リカバリー
ボリュームスナップショットからのバックアップ/リカバリー
- 宣言的データベース
デフォルトのretain再利用ポリシーを使用したデータベースの宣言的作成
削除再利用ポリシーを使用したデータベースの宣言的作成
メジャーバージョンのアップグレード - 最新のメジャーバージョンにアップグレードします