エンドツーエンドテスト

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のテストされたバージョンごとに、

kind を使用してKubernetesクラスターが作成され、そのクラスターで次のE2Eテストスイートが実行されます。

  • 基本 オペレーターのインストール。 クラスターの作成。 *データストレージのための永続ボリュームの使用。

  • サービス接続 読み取り専用を含むサービスを介した接続。 ユーザー指定のサーバーおよび/またはクライアント証明書を介した接続。 * PgBouncer;

  • 自己修復 フェイルオーバー。 スイッチオーバー; 10秒以内にフェイルオーバーが発生した場合のプライマリエンドポイントスイッチ。 20秒以内にスイッチオーバーの場合のプライマリエンドポイントスイッチ。 60秒未満で機能低下状態から回復します。 PVCの削除;

  • バックアップとリストア S3でBarman Cloudを使用したバックアップとスケジュールバックアップの実行。 Azure BlobストレージでのBarman Cloudを使用したバックアップおよびスケジュールされたバックアップの実行。 S3でBarman Cloudを使用してバックアップから復元します。 Azure BlobストレージでBarman Cloudを使用してバックアップから復元します。 * Wal-Restore;

  • Operator: オペレーター展開。 ConfigMapを介したオペレーター構成。 オペレーターポッドの削除。 オペレーターポッドのエビクション。 オペレーターのアップグレード; オペレーターの高可用性。

  • 可観測性 メトリック収集。 PgBouncerメトリック; * JSONログ形式

  • レプリケーション 物理レプリカクラスター。 レプリケーションスロット; 同期レプリケーション。 クラスターのスケールアップおよびスケールダウン。

  • プラグイン CNPGプラグインを使用したクラスター休止状態。 フェンシング* 接続証明書の作成。

  • Postgres構成 PostgreSQL構成の変更を管理します。 PostgreSQLイメージを変更する際のローリング更新。

  • ポッドのスケジューリング 許容範囲とテイント。 NodeSelector を使用したポッドアフィニティ。

  • クラスターメタデータ クラスターラベルとアノテーションの構成マップ。 オブジェクトのメタデータ。

  • リカバリー データの破損。 pg_basebackup;

  • データベースのインポート マイクロサービスアプローチ。 モノリスアプローチ。

  • ストレージ *ストレージ拡張。

  • セキュリティ * AppArmorアノテーションの伝播。 Azure環境でのみ実行されます。

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