CloudNativePG 1.26のリリースノート

CloudNativePGの1.26マイナーリリースのユーザーに表示される変更の履歴。

変更の完全なリストについては、 commits を参照してください。

GitHubのリリースブランチで。

バージョン1.26.0

発売日 2025年5月23日

重要な変更

  • CloudNativePGは公式にCNCFプロジェクトになりました CloudNativePGはCloud Native Computing FoundationCNCFに受け入れられ、その進化の重要なマイルストーンを示しました。この移行の一環として、プロジェクトは現在 CloudNativePG、シリーズのLFプロジェクト、LLC の下で管理され、長期的な持続可能性とコミュニティ主導のイノベーションを保証します。 (#7203)

  • ネイティブBarmanクラウドサポートの非推奨 Barman Cloudのバックアップとリカバリーのネイティブサポートは非推奨であり、CloudNativePGバージョン1.28.0で完全に削除されます。現在のリリースでも引き続き利用できますが、スムーズでシームレスな移行を保証には、既存のクラスターから新しい Barman Cloud Plugin への移行を開始することを強くお勧めします。プラグインは、すべての新しい展開にも使用する必要があります。この変更は、CloudNativePGをバックアップに依存しないソリューションにするための最初のステップを示しており、ボリュームスナップショットのサポートもプラグインベースのアーキテクチャに移動したときに完全に実現します。 (#6876)

  • Barman 3.4以前のサポート終了 CloudNativePGは、機能検出フレームワークを含むBarmanバージョン3.4以前をサポートしなくなりました。古いオペランドバージョン2023年4月より前を実行しているユーザーは、互換性の問題を回避するために、オペレーターをアップグレードする前にオペランドを更新する必要があります。 (#7220)

  • ハイバネーションコマンドの変更 kubectl のcnpg プラグインのhibernate on およびhibernate off コマンドは、宣言的ハイバーネーションのショートカットとして機能するようになりました。以前の命令的アプローチは、このメソッドを優先して削除されました。さらに、 hibernate status コマンドは、その機能が標準のstatus コマンドでカバーされているため、削除されました。 警告 宣言的ハイバーネーション方法に移行する準備ができている場合を除き、プラグインとオペレーターの両方をバージョン1.26にアップグレードしないでください。 (#7155)

機能

  • PostgreSQLの宣言的オフラインインプレースメジャーアップグレード より高いPostgreSQLメジャーバージョンを使用した新しいオペランドコンテナイメージがクラスターに適用される場合、オフラインインプレースメジャーアップグレードのサポートを導入しました。アップグレード中に、すべてのクラスターポッドがシャットダウンして、データの一貫性を保証します。新しいジョブが作成され、アップグレード条件を検証し、pg_upgrade を実行し、必要に応じてPGDATA の新しいディレクトリ、WALファイル、およびテーブルスペースをセットアップします。アップグレードが完了すると、レプリカが再作成されます。失敗したアップグレードは宣言的にロールバックできます。 (#6664)

  • レプリカのスタートアップと準備状況プローブの改善 PostgreSQLインスタンスでのKubernetesのスタートアップと準備状況プローブのサポートを強化し、ストリーミングラグに基づいてレプリカの制御を強化します。 (#6623)

  • 拡張機能とスキーマの宣言管理 データベースリソースにextensions およびschemas スタンザを導入して、データベース内でPostgreSQL拡張機能とスキーマを宣言的に作成、変更、およびドロップします。 (#7062)

機能強化

  • プライマリインスタンスのネットワーク分離検出を使用してlivenessプローブを強化するオプトイン実験機能を導入しました。この機能は、 alpha.cnpg.io/livenessPinger アノテーション#7466を介して有効にできます。

  • STANDBY_TCP_USER_TIMEOUT オペレーター構成設定を導入し、ユーザーはオペレーターによって管理されるすべてのスタンバイインスタンスでtcp_user_timeout パラメーターを指定できます。 (#7036)

  • DRAIN_TAINTS オペレーター構成オプションを導入し、ユーザーがどのノードテイントがノードがドレインされていることを示すかをカスタマイズできます。これは、node.kubernetes.io/unschedulable をドレイン信号としてのみ認識する以前の修正された動作を置き換えます。 (#6928)

  • 最新の既知のPod IP #7546を追跡するために、 Cluster リソースのstatus に新しいフィールドを追加しました。

  • pg_extensions メトリックを追加し、インストールされたPostgreSQL拡張機能とその利用可能な最新バージョンに関する情報を提供します。 (#7195)

  • KUBERNETES_CLUSTER_DOMAIN 構成オプションをオペレーターに追加し、ユーザーがKubernetesクラスター内で生成された完全修飾ドメイン名FQDNのドメインサフィックスを指定できるようにします。設定されていない場合、デフォルトのcluster.local が使用されます。 (#6989)

  • cnpg.io/validation アノテーションを実装し、ユーザーがCloudNativePG管理リソースで検証Webhookを無効にできるようにします。無制限の変更が許可されるため、使用には注意してください。 (#7196)

  • JSONパッチでcnpg.io/podPatch アノテーションを使用してPostgreSQLインスタンスポッドにパッチを適用するサポートを追加しました。これにより、オペレーターの予想とKubernetesの動作の間の相違が発生する可能性があるため、注意して使用する必要があります。 (#6323)

  • PostgreSQL 18でのpg_stat_wal メトリックの収集のサポートを追加しました。 #7005

  • Azureボリュームのサイズを正しく変更する必要がなくなったため、ENABLE_AZURE_PVC_UPDATES 構成を削除しました。 Azure CSIドライバーには、バージョン 1.11.0 の時点で必要な修正が含まれています。 (#7297)

  • .spec.backup.barmanObjectStore および.spec.backup.retentionPolicy フィールドは、外部Barman Cloudプラグインを優先して非推奨になり、これらのフィールドがCluster 仕様#7500で使用される場合、アドミッションWebhookによって警告が出力されるようになりました。

  • Barman Cloud _非推奨_を介してWALファイルをアーカイブする場合のLZ4、XZ、およびZ標準圧縮方法のサポートを追加しました。 (#7151)

  • CloudNativePGインターフェイスCNPG-I

  • プラグインは、 EVALUATE 動詞を実装することによりインスタンスのロールアウトをトリガーできるようになり、プラグインによる変更が適切にリコンサイルされるように保証します。 (#7126)

  • スナップショットの復元中にCNPG-Iプラグインを介したWALリカバリーのサポートを導入しました。 (#7284)

セキュリティ

  • オペレーター展開のimagePullPolicy をAlways に設定して、イメージが常にレジストリから取得されるようにし、古いまたは安全でない可能性のあるローカルイメージを使用するリスクを削減します。 (#7250)

修正

  • レプリカ構成でdbname パラメーターをprimary_conninfo に追加することにより、PostgreSQL 17のネイティブレプリケーションスロット同期と論理レプリケーションフェイルオーバーを修正しました #7298

  • プラグインがWALファイルの検索に失敗した場合、externalCluster ソースで定義されたツリー内barmanObjectStore 構成へのフォールバックを防止するWAL復元操作の回帰を修正しました #7507

  • WALアーカイブにフェイルファストメカニズムを導入することにより、バックアップ効率が向上し、予期しないプライマリ降格をより迅速に検出でき、不必要な再試行を回避できます #7483

  • 要求された数を超えて1つの追加のワーカープロセスが生成される可能性があるパラレルWALアーカイブのoff-by-oneエラーを修正しました #7389

  • PostgreSQL構成を更新するときにオペレーターが2つのスイッチオーバーを実行する原因となった競合状態を解決しました。 (#6991)

  • ターゲットプーラーおよびクラスターポッドのmatchLabels スコープを調整することにより、PodMonitor 構成を修正しました。以前は、 matchLabels の範囲が広すぎるため、誤ってクラスターからラベルを継承し、意図しないターゲットからデータ収集が発生していました。 (#7063)

  • shared_buffers 構成で欠落している単位MB、GBなどのクラスターのWebhook警告を追加しました。これは、将来のリリースではエラーになります。ユーザーは構成を更新して、明示的なユニットたとえば、512 の代わりに512MB などを含める必要があります。 (#7160)

  • ボリュームスナップショットの作成中のタイムアウトエラーを再試行可能なものとして扱い、不要なバックアップの失敗を防ぎました。 (#7010)

  • OLMでのUI問題を回避するために、.spec.postgresql.synchronous.dataDurability のデフォルトロジックをCRDからWebhookに移動しました。 (#7600)

  • CloudNativePGインターフェイスCNPG-I

  • プラグインのTLS証明書が変更された場合の自動リロードを実装しました。 (#7029)

  • プラグインを使用してバックアップを実行するときに、オペレーターがプラグイン接続を適切に閉じるようにしました。 (#7095、#7096)

  • プラグインを使用するときに以前のプライマリノードでWALをアーカイブできない問題を修正しました。 (#6964)

  • ローカルプラグイン操作のタイムアウトを削除し、より長いバックアップまたはWALアーカイブの実行中の障害を回避することにより、CNPG-Iのパフォーマンスと復元力を向上させました#7496。

  • cnpg プラグイン:

  • logs pretty コマンドのバッファサイズを増やして、より大きなログ出力をより適切に処理します#7281.

  • プラグインベースのバックアップにはplugin-name パラメーターが必要であり、非プラグインのバックアップ方法では禁止されています#7506.

  • primaryUpdateMethod がrestart に設定されている場合、強制的再起動中にプライマリポッドが再作成され、その定義をレプリカと調整するようにしました。 (#7122)

変更

  • 新しいクラスター定義に合わせて、デフォルトのPostgreSQLバージョンを17.5に更新しました。 (#7556)

  • 新しいPooler 展開#7399用に、デフォルトのPgBouncerバージョンを 1.24.1 に更新しました。

サポートされているバージョン

  • Kubernetes 1.33、1.32、1.31、および1.30

  • PostgreSQL 17、16、15、14、および13 - PostgreSQL 17.5がデフォルトのイメージです。PostgreSQL 13のサポートは2025年11月12日に終了します