エンドツーエンドテスト

CloudNativePGは、オペレーターがPostgreSQLクラスターを正しく展開および管理していることを確認する一連の エンドツーエンドE2Eテスト または統合テストを介して、各コミットの後に自動的にテストされます。

Kubernetesバージョン1.23〜1.29、およびPostgreSQLバージョン12〜16は、コミットごとにテストされ、開発プロセスの初期段階でバグを検出するのに役立ちます。

KubernetesとPostgreSQLのテストされたバージョンごとに、

kind を使用してKubernetesクラスターが作成され、GitHub

Actionsプラットフォームで実行され、そのクラスターで次のE2Eテストスイートが実行されます。

  • 基本
  • Operator

  • のインストール Cluster

  • の作成 データストレージ用の永続ボリュームの使用

  • サービス接続
  • 読み取り専用を含むサービスを介した接続

  • ユーザー提供のサーバーおよび/またはクライアント証明書を介した接続

  • PgBouncer

  • 自己修復
  • フェールオーバー

  • スイッチオーバー

  • 10秒未満でフェールオーバーの場合のプライマリエンドポイントスイッチ

  • 20秒未満でスイッチオーバーの場合のプライマリエンドポイントスイッチ

  • 60秒未満で低下した状態から回復b_tran_8 PVC削除b_tran_8 破損したPVC

  • バックアップとリストア
  • ボリュームスナップショットからのバックアップと復元s

  • S3

  • でBarman Cloudを使用したバックアップとスケジュールバックアップの実行 Azure blob storageでBarman Cloudを使用したバックアップとスケジュールバックアップの実行

  • S3

  • でBarman Cloudを使用してバックアップから復元Barman Cloudを使用してバックアップから復元Azure blob storage

  • Azure、S3でのポイントインタイムリカバリPITR storage

  • Wal-Restoreシークエンシャル/パラレル

  • オペレーター
  • オペレーターの展開

  • ConfigMapedによるオペレーター構成

  • オペレーターポッドの削除b_tran_7 オペレーターポッドのエビクション

  • オペレーターのアップグレードb_tran_7 オペレーターの高可用性

  • オブザーバビリティ

  • メトリック収集

  • PgBouncer Metrics

  • JSONログ形式

  • レプリケーション
  • レプリケーションスロット

  • 同期replication

  • クラスターのスケールアップおよびスケールダウン

  • レプリカクラスター
  • バックアップからのレプリカクラスターのブートストラップb_tran_5 ストリーミングを介したレプリカクラスターのブートストラップ

  • ボリュームスナップショットを介したブートストラップ

  • レプリカクラスターの切断

  • プラグイン

  • CNPGを使用したクラスターハイバネーション plugin

  • Fencing

  • 接続証明書の作成

  • Postgres構成
  • PostgreSQL構成の変更を管理する

  • PostgreSQL画像変更時のローリング更新

  • ImageCatalog/ClusterImageCatalog画像変更時のローリング更新

  • ホットスタンバイ依存のパラメーター変更のローリング更新

  • InitDBを介したデータベースの初期化

  • ポッドのスケジューリング
  • 許容範囲とテイントs

  • NodeSelector

  • を使用したポッドアフィニティ

  • PodSpecドリフト検出のローリング更新

  • インプレースアップグレード

  • マルチアーチの可用性

  • クラスターメタデータ
  • クラスターラベルとアノテーションの構成マップ

  • オブジェクトメタデータ

  • リカバリー

  • データ破損

  • pg_basebackup

  • データベースのインポート

  • マイクロサービスのアプローチb_tran_3モノリスアプローチ

  • Storage:

  • ストレージ拡張

  • 専用PG_WAL永続ボリューム

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

  • メンテナンス
  • メンテナンスウィンドウを使用したノードドレイン

  • シングルインスタンスクラスターを使用したノードドレイン ポッド中断バジェットの有無にかかわらず

  • ハイバーネーション -宣言的ハイバーネーション/リハイドレーション

  • ボリュームスナップショット
  • コールドおよびオンラインスナップショットのバックアップ/リストアs

  • コールドおよびオンラインスナップショットのポイントインタイムリカバリーs

  • コールドおよびオンラインスナップショットのプラグインを介したバックアップs

  • コールドおよびオンラインスナップショットの宣言的バックアップ

  • 管理対象ロール
  • 管理対象ロールの作成と更新

  • Kubernetesシークレットを使用したパスワードのメンテナンス

  • テーブルスペース - テーブルスペースの宣言的作成 - 一時テーブルスペースの宣言的作成 - オブジェクトストレージからのバックアップ/リカバリー - ボリュームスナップショットからのバックアップ/リカバリー