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

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

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