Back to blog

【製品情報】CloudNativePG 1.28.0

December 23, 2025

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 に更新。

Share this