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