はじめに
サポートされている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構成の宣言的管理
specpgaudit、auto_explain、pg_stat_statements、およびpg_failover_slotsPostgresのロール、ユーザー、グループの宣言的管理
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コミュニティ協会の商標または登録商標であり、その許可を得て使用しています。*