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