エンドツーエンドのテスト¶
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上のBarmanCloudを使用したバックアップとScheduledBackupsの実行。 Azure Blob Storage上のBarman Cloudを使用したバックアップとScheduledBackupsの実行。 S3でBarmanCloudを使用してバックアップから復元します。 Barman Cloud on Azure BLOBストレージを使用してバックアップから復元します。 *ウォルリストア;
オペレーター: オペレーター展開。 ConfigMapを介したオペレーター構成。 オペレーターポッドの削除; オペレーターポッドのエビクション。 オペレーターのアップグレード; オペレーターの高可用性。
可観測性: メトリックコレクション。 PgBouncerメトリック; * JSONログ形式。
レプリケーション: 物理レプリカクラスター。 レプリケーションスロット。 同期レプリケーション。 クラスターのスケールアップとスケールダウン。
Plugin: CNPGプラグインを使用したクラスターハイバネーション。 フェンシング; *接続証明書の作成;
Postgres構成: PostgreSQL構成の変更を管理します。 PostgreSQLイメージを変更するときのローリング更新。
ポッドスケジューリング: Tolerationsとtaint。
NodeSelectorを使用したPodアフィニティ。クラスターメタデータ: クラスターラベルとアノテーションのConfigMap。 オブジェクトメタデータ;
リカバリ: データ破損。 pg_basebackup;
データベースのインポート: マイクロサービスアプローチ。 モノリスアプローチ。
ストレージ: *ストレージ拡張。
セキュリティ: * AppArmorアノテーションの伝播。 Azure環境でのみ実行されます。
メンテナンス: *ノードドレイン。