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

CloudNativePG は、一連の エンドツーエンド(E2E)テスト を介して各コミット後に自動的にテストされます。これにより、オペレーターは PostgreSQL クラスターを正しくデプロイおよび管理できます。

さらに、次の Kubernetes バージョンはコミットごとにテストされ、開発プロセスの初期段階でバグを検出するのに役立ちます。

  • 1.26

  • 1.25

  • 1.24

  • 1.23

  • 1.22

次の PostgreSQL バージョンがテストされています。

  • PostgreSQL 15

  • PostgreSQL 14

  • PostgreSQL 13

  • PostgreSQL 12

  • PostgreSQL 11

Kubernetes と PostgreSQL のテスト済みバージョンごとに、 親切 を使用して Kubernetes クラスターが作成され、そのクラスターで次の一連の E2E テストが実行されます。

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

  • サービス接続: * 読み取り専用を含むサービス経由の接続。 * ユーザー提供のサーバーおよび/またはクライアント証明書による接続。 * PgBouncer;

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

  • バックアップと復元: * S3 でBarman Cloud を使用したバックアップとスケジュールされたバックアップの実行。 * Barman Cloud on Azure ブロブ ストレージを使用したバックアップとスケジュール バックアップの実行。 * S3 でBarman Cloud を使用してバックアップから復元します。 * Barman Cloud on Azure ブロブ ストレージを使用してバックアップから復元します。 * ウォール復元;

  • オペレーター: * オペレーターの展開。 * ConfigMap によるオペレーター設定。 * オペレーター ポッドの削除。 * オペレーターポッドの立ち退き; * オペレーターのアップグレード; *オペレーターの高可用性。

  • 可観測性: * メトリック コレクション。 * PgBouncer メトリクス; * JSON ログ形式;

  • レプリケーション: * 物理レプリカ クラスター。 * 複製スロット; * 同期複製; * クラスターのスケールアップとスケールダウン。

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

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

  • Podスケジューリング: * 耐性と汚染。 * NodeSelector を使用したポッド アフィニティ。

  • クラスターメタデータ: * クラスター ラベルと注釈の ConfigMap。 * オブジェクトのメタデータ。

  • 回復: * データの破損。 * pg_basebackup;

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

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

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

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