【製品情報】CloudNativePG 1.28.0
Kubernetes上でPostgreSQLをネイティブ制御するオープンソース・オペレーター:CloudNativePG (CNPG) は、あらゆるK8s環境でPostgresのライフサイクル全体を自動管理するCNCFサンドボックスプロジェクトです。最新の 1.28.0 ではクォーラムベース・フェイルオーバーの安定版昇格、宣言的なFDW(外部データラッパー)管理、Pod単位のセキュリティコンテキスト制御、PostgreSQL 18.1対応など、運用効率とデータ保護性能が一段と進化しました。
▶ 日本語マニュアル:CloudNativePG 1.28.0 >>
※ 日本語マニュアルの閲覧には ユーザー登録(パスワード) が必要です。

【CloudNativePG 1.28.0】Kubernetes上でPostgreSQLをネイティブ統合制御
概要
1. CloudNativePGとは?
CloudNativePG (CNPG) は、サポートされているあらゆるKubernetesクラスター(プライベート、パブリック、ハイブリッド、マルチクラウド)上で、PostgreSQLワークロードのライフサイクル全体を管理するために設計されたオープンソースのKubernetesオペレーターです。CNCFのサンドボックスプロジェクトとして指定されており、カスタムリソース(Kind: Cluster)を定義して外部コンセンサスツールに依存することなくKubernetes内でPostgreSQLインスタンスを直接オーケストレーションします。
2. CloudNativePGのメリット
- 高可用性 (HA) & Self-Healing: 外部管理ツール不要で自動フェイルオーバー・スイッチオーバーを完備。故障レプリカを自動で再構築し、障害時は最新スタンバイを即座に昇格させます。
- クラウド中立性: 「分散トポロジー」機能により、EKS, AKS, GKE, OpenShift, ベアメタルなど多彩なKubernetes環境に柔軟に対応します。
- 宣言的設定 (IaC): ユーザー、ロール、データベース、拡張機能の定義に至るまで Infrastructure as Code (IaC) で一元管理可能です。
- データの信頼性 & スケーラビリティ: PITR(ポイントインタイムリカバリ)や継続的なWALアーカイブに対応し、読み書き(-rw)と読み取り専用(-ro)のサービス分離(Service)を自動構築します。
- セキュリティ: クライアント/サーバー間のTLS暗号化保護、cert-manager統合、証明書やパスワードの自動ローテーションをサポート。
3. メリットを実現するための仕組み
- インスタンスマネージャー (PID 1): 全PodにGoベースの軽量マネージャーを注入し、起動プロセスや監視・ヘルスチェック、Kubernetes APIとの直接連携を実行。
- Kubernetes APIへの直接統合: 外部のデータ共有コンセンサスストア(etcdやConsul等)を排し、Kubernetes APIのみで状態制御を完結。
- ネイティブ・ストリーミングレプリケーション: PostgreSQL本来のレプリケーション機構と自動管理スロットにより、高いデータ整合性を保証。
- シェアードナッシング構造: PVC(Persistent Volume Claim)を独立管理し、インスタンス間のストレージ分離とオンラインサイズ変更を実現。
4. バージョン 1.28.0 の新機能
- クォーラムベース・フェイルオーバー (安定版): レプリカ過半数のデータ到達確認を伴う、より安全でデータ損壊を防ぐ昇格機構へ正式移行。
- 宣言的な外部データラッパー (FDW) 管理: Database CRD(`.spec.fdws` / `.spec.servers`)経由で外部サーバー連携を宣言的に構築・変更可能。
- ネットワーク耐性の強化: レプリカのデフォルト `tcp_user_timeout` を5秒へ短縮し、不通時の検知および再接続プロセスを著しく加速。
- 詳細なセキュリティ制御と障害復旧アノテーション: コンテナごとの `containerSecurityContext` 個別設定に対応し、破損Podを丸ごと破棄・再生成する `alpha.cnpg.io/unrecoverable=true` アノテーションを追加。
- バージョンアップデート: デフォルトのPostgreSQLバージョンを 18.1 に、PgBouncer を 1.25.1 に更新。