エンドツーエンドのテスト

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環境でのみ実行されます。

  • メンテナンス: *ノードドレイン。