エンドツーエンドテスト
CloudNativePGは、オペレーターがPostgreSQLクラスターを正しく展開および管理していることを確認する一連の エンドツーエンドE2Eテスト または統合テストを介して、各コミットの後に自動的にテストされます。
Kubernetesバージョン1.25〜1.29、およびPostgreSQLバージョン12〜16は、コミットごとにテストされ、開発プロセスの初期段階でバグを検出するのに役立ちます。
- 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ログ形式
- レプリケーション
レプリケーションスロット
同期replication
クラスターのスケールアップおよびスケールダウン
- レプリカクラスター
バックアップからのレプリカクラスターのブートストラップ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環境でのみ実行
- メンテナンス
メンテナンスウィンドウを使用したノードドレイン
シングルインスタンスクラスターを使用したノードドレイン ポッド中断バジェットの有無にかかわらず
Hybernation -宣言的ハイバーネーション/リハイドレーション
- ボリュームスナップショット
コールドおよびオンラインスナップショットのバックアップ/リストアs
コールドおよびオンラインスナップショットのポイントインタイムリカバリーs
コールドおよびオンラインスナップショットのプラグインを介したバックアップs
コールドおよびオンラインスナップショットの宣言的バックアップ
- 管理対象ロール
管理対象ロールの作成と更新
Kubernetesシークレットを使用したパスワードのメンテナンス
テーブルスペース - テーブルスペースの宣言的作成 - 一時テーブルスペースの宣言的作成 - オブジェクトストレージからのバックアップ/リカバリー - ボリュームスナップショットからのバックアップ/リカバリー