はじめに

サポートされているKubernetesディストリビューション

CloudNativePGの各マイナーリリースは、さまざまなKubernetesバージョン、通常、マイナーバージョンが最初にリリースされたときにCNCFによってサポートされているバージョンで動作するように設計されています。

詳細は サポートされているリリース ページを参照してください。

コンテナイメージ

CloudNativePG community は、演算子とオペランドの両方、つまりPostgreSQLのコンテナイメージを維持します。

CloudNativePGオペレーターコンテナイメージは distroless です

cloudnative-pg で利用できます。

PostgreSQLオペランドコンテナイメージは、複数のアーキテクチャでのすべての PGDG supported versions of PostgreSQL で

postgres-containers から直接利用できます。

さらに、コミュニティは PostGIS extension のイメージを提供しています。

警告

CloudNativePGでは、Kubernetesクラスター内のすべてのノードが同じCPUアーキテクチャであることを必要とします。したがって、ハイブリッドCPUアーキテクチャのKubernetesクラスターはサポートされていません。

主な機能

*外部ツールを必要とせず、高可用性を実現するKubernetes APIサーバーとの直接統合

以下を介した自己修復機能 最も調整されたレプリカをプロモーションすることによるプライマリインスタンスのフェイルオーバー *レプリカの自動再作成

  • 選択したレプリカの昇格によるプライマリインスタンスの計画的なスイッチオーバー

*スケールアップ/ダウン機能

  • 任意の数のインスタンスの定義最小1 - 1つのプライマリサーバー

アプリケーションをクラスターの唯一のプライマリサーバーに接続するための 読み取り-書き込み*サービスの定義

ワークロードを読み取るためのインスタンスにアプリケーションを接続するための 読み取り専用*サービスの定義

  • クラスターを介した特定の人気のPostgres拡張機能を含むPostgreSQL構成の宣言的管理 spec pgaudit 、auto_explain 、pg_stat_statements 、およびpg_failover_slots

  • Postgresのロール、ユーザー、グループの宣言的管理

  • PVCテンプレートを使用したローカル永続ボリュームのサポート

*ポッドの永続ボリュームストレージの再利用

  • WALファイルとテーブルスペースの個別のボリューム

  • 一時テーブルスペースを含むPostgresテーブルスペースの宣言的管理

  • PostgreSQLマイナーバージョンのローリングアップデート

*オペレーターアップグレードのインプレースまたはローリング更新

  • TLS接続とクライアント証明書認証

*カスタムTLS証明書のサポートcert-managerとの統合を含む

*オブジェクトストアへの継続的なWALアーカイブAWS S3およびS3互換、Azure Blob Storage、およびGoogle Cloud Storage

*ボリュームスナップショットのバックアップ基になるストレージクラスでサポートされている場合

*オブジェクトストアのバックアップAWS S3およびS3互換、Azure Blob Storage、およびGoogle Cloud Storage

  • ボリュームスナップショットまたはオブジェクトストアの既存のバックアップからのフルリカバリーおよびポイントインタイムリカバリー

  • PostgreSQLのメジャーアップグレードを含む、既存のPostgreSQLデータベースのオフラインインポート

*宣言的な方法でのPostgreSQLクラスター全体、またはインスタンスのサブセットのフェンシング

*宣言的な方法でのPostgreSQLクラスターの休止状態

*同期レプリカのサポート

  • クラスターレベルでのHA物理レプリケーションスロットのサポート

  • スタンバイからのバックアップ

*バックアップ保持ポリシーリカバリウィンドウに基づいて、オブジェクトストアのみ

*並列WALアーカイブとリストアにより、データベースが大量の書き込みシステムでのWAL生成に追いつくことができます

*オブジェクトストアにアップロードされたバックアップファイルのタグ付けをサポートして、オブジェクトストアレイヤーでオプションの保持管理を有効にする

  • 複数のKubernetesクラスターにわたるPostgreSQLの展開、プライベート、パブリック、ハイブリッド、マルチクラウドアーキテクチャを有効にします

  • PgBouncerを使用した接続プーリング

  • nodeSelector を介したノードアフィニティのサポート

  • metrics ポート9187を介したプロメテウスのユーザー定義メトリックのネイティブなカスタマイズ可能なエクスポーター

  • JSON形式のPostgreSQLエラーメッセージの標準出力ログ

*ポッドのreadOnlyRootFilesystem セキュリティコンテキストを自動的に設定します

  • kubectl 用のcnpg プラグイン

  • 単純なバインドおよび検索+バインドのLDAPクライアント認証

  • マルチアーチフォーマットのコンテナイメージ

  • OLMのインストール

注釈

CloudNativePGは、データの永続性の管理に`StatefulSet` sを使用しません。代わりに、永続ボリューム要求PVCを直接管理します。興味がある場合は、 カスタムポッドコントローラ を読んで詳細をご覧ください。

このガイドについて

クイックスタート の指示に従って、KindまたはMinikubeを使用してローカルKubernetesクラスターでCloudNativePGをテストします。

KubernetesとPostgreSQLの基本的な用語に慣れていない場合は、

始める前に を参照してください。

は、カナダPostgreSQLコミュニティ協会の商標または登録商標であり、その許可を得て使用しています。*