エンドツーエンドのテスト¶
CloudNativePGは、オペレーターがPostgreSQLクラスターを正しくデプロイして管理することを保証する一連の エンドツーエンド(E2E)テスト を介して、各コミット後に自動的にテストされます。
さらに、次のKubernetesバージョンがコミットごとにテストされるため、開発プロセスの初期段階でバグを検出できます。
*1.25
1.24
1.23
1.22
1.21
次のPostgreSQLバージョンがテストされています。
PostgreSQL15
PostgreSQL14
PostgreSQL13
PostgreSQL 12
PostgreSQL11
PostgreSQL 10
KubernetesとPostgreSQLのテストされたバージョンごとに、 種類 を使用してKubernetesクラスターが作成され、そのクラスターで次のE2Eテストスイートが実行されます。
基本: オペレーターのインストール。クラスターの作成; * データストレージのための永続ボリュームの使用。
サービス接続: 読み取り専用を含むサービスを介した接続。ユーザーが提供したサーバーおよび/またはクライアント証明書を介した接続。 * PgBouncer;
自己修復: フェールオーバー。スイッチオーバー; * 10秒未満でフェールオーバーが発生した場合のプライマリエンドポイントスイッチ。 * 20秒以内にスイッチオーバーした場合のプライマリエンドポイントのスイッチ。 * 60秒以内に劣化状態から回復します。 * PVCの削除;
バックアップと復元: * S3上のBarman Cloudを使用したバックアップとScheduledBackupsの実行。 * Barman Cloud on Azure blobストレージを使用したバックアップとScheduledBackupsの実行。 * S3でBarman Cloudを使用してバックアップから復元します。 * Barman Cloud on Azure BLOBストレージを使用してバックアップから復元します。 *ウォルリストア;
オペレーター: オペレーター展開。 ConfigMapを介したオペレーター設定。 * オペレーターポッドの削除; * オペレーターポッドのエビクション。 * オペレーターのアップグレード; * オペレーターの高可用性。
可観測性: メトリックコレクション。 PgBouncerメトリック; * JSONログ形式;
レプリケーション: 物理レプリカクラスター。 レプリケーションスロット。 * 同期複製。 * クラスターのスケールアップとスケールダウン。
プラグイン: * CNPGプラグインを使用したクラスターハイバネーション。 フェンシング;接続証明書の作成;
Postgres構成: * PostgreSQL構成の変更を管理します。 * PostgreSQLイメージを変更するときのローリング更新。
ポッドのスケジューリング: * Tolerationsとtaint。 *
NodeSelectorを使用したPodアフィニティ。クラスターメタデータ: クラスターラベルとアノテーションのConfigMap。オブジェクトメタデータ;
回復: データの破損。 pg_basebackup;
データベースのインポート: マイクロサービスアプローチ。モノリスアプローチ。
ストレージ: *ストレージ拡張。
セキュリティ: * AppArmorアノテーションの伝播。 Azure環境でのみ実行されます。
メンテナンス: *ノードドレイン。