Release notes for CloudNativePG 1.26
CloudNativePGの1.26マイナーリリースのユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHubのリリースブランチで。
バージョン1.26.3
発売日 2025年12月9日
警告
これは、1.26.xシリーズの最後のリリースです。 1.26はサポートされていないため、新しいマイナーバージョンにアップグレードすることを強くお勧めします。
変更
機能強化
修正
CNPG-Iバックアップ/WALプラグイン
plugin-barman-cloudなどを使用してボリュームスナップショットから復元するときに正しく実行されるようにCheckEmptyWalArchiveセーフガードを修正しました。以前は、このチェックはプラグインベースの実装でスキップされていました。 ( #9306 )cnpg.io/pluginServerNameアノテーションを追加することにより、CNPG-Iプラグインに接続する際のTLS証明書検証の問題を修正しました。これにより、プラグインの証明書がサービス名とは別のDNS名を使用する環境で、証明書の検証に使用されるDNS名をカスタマイズできます。 ( #9222 )インスタンスマネージャーコントローラがエラーの後に再起動に失敗し、「コントローラは既に存在します」メッセージを報告する問題を修正しました。コントローラは、後続の初期化試行に
SkipNameValidationを使用するようになりました。 @mateusoliveira43による寄稿。 ( #9123 )宛先パスが絶対である場合、プラグインでの誤ったWAL復元パスの処理を修正し、パスの重複の問題を防ぎます。 @Endevirによる寄稿。 ( #9093 )
PostgreSQL 13+との下位互換性があるように、マルチテーブルパブリケーションの
CREATE PUBLICATIONSQL生成を修正しました。以前に生成された構文はPostgreSQL 15+でのみ有効であり、古いバージョンでは構文エラーが発生しました。 ( #8888 )インデックスではなく名前で
postgresコンテナを確実に選択することにより、複雑なポッド定義でのバックアップの失敗を修正しました。 @Joda89による寄稿。 ( #8964 )cnpgプラグインcnpg reportログ収集、特に以前のログを取得する場合のバグを修正しました。コレクターは、以前のログと現在のログを別の要求で正しく取得し、欠落している以前のログたとえば、再起動履歴のないコンテナを適切に処理し、現在のログが常に収集されるようにします。 ( #8992 )
バージョン1.26.2
発売日 2025年10月23日
変更
Barman Cloudのネイティブインコアサポートの廃止を少なくともバージョン1.29に遅延しました。 #8670
postgres-containersおよびpostgis-containersイメージとイメージカタログアーティファクトの新しい形式を採用し、デフォルトのPostgreSQLバージョンを18.0-system-trixieに 更新 PostgreSQL 18がサポートされるようになりました。 ( #8578 、 #8760 、 #8558 )ClusterおよびPoolerリソースのmonitoring.enablePodMonitorフィールドを非推奨にしました。このフィールドは、将来のリリースでは削除される予定です。PodMonitorリソースに依存するユーザーは、代わりに手動で作成する必要があります。 #8753
機能強化
以前にハードコードされたPgBouncer
auth_type、server_tls_sslmode、およびclient_tls_sslmode設定をオーバーライドするサポートを追加しました。デフォルト値は以前の動作と一貫性のあるままですが、必要に応じてカスタマイズできるようになりました。 #8674PostgreSQLのスマートで高速なシャットダウンの前に
CHECKPOINTステップを追加して、特にcheckpoint_timeoutが高いシステムで、シャットダウン時間とレプリカプロモーション時間を削減します。 #8867公式
postgres-containersプロジェクトに基づいて、非推奨またはサポートされていないOSバージョンのインスタンスマネージャーに警告を追加しました。 #8601証明書解析エラーレポートが改善されました。障害は、汎用メッセージの代わりに特定のエラーをログに記録するようになりました、トラブルシューティングを支援します。これは、Go 1.25.2および1.24.8のCVE-2025-58187修正後に特に関連しており、無効なDNS SANの解析失敗をトリガーする可能性があります。 #8801
他のブートストラップ方法と一貫して、
pg_basebackup方法を使用してクラスターをブートストラップするときに、宛先WALアーカイブパスが空であることを確認するチェックを追加しました。 #8895休止状態のクラスターでバックアップが実行されないように検証を追加しました。このようなクラスターで試行されたバックアップは、標準の前提条件チェックパターンに従って、
ClusterIsHibernatedの理由で失敗するようになりました。 #8870pprofプロファイリングのサポートを追加しました。インスタンスは、高度なデバッグのためにClusterリソースにalpha.cnpg.io/enableInstancePprofアノテーションを追加することにより、pprofツールを有効にできるようになりました。 #7876cnpgプラグイン:
修正
パラレルWALリカバリーでカスタムWALセグメントサイズを使用する場合のバックアップ復元の失敗を修正しました。オペレーターは、復元中にWALの終わりファイルマーカーを管理しないため、バックアップが複数のWALセグメントにまたがる場合のエラーを防ぎます。 #8873
以前のマイナーバージョンからのボリュームスナップショットが誤って使用され、レプリカ作成を最適化する可能性があるメジャーアップグレードのバグを修正しました。 #8475
新しいクラスターをブートストラップする前にアプリケーションユーザーのシークレットを待機するように
initdbを修正し、潜在的な競合状態を防止します。 #8663cnpgiプラグインの接続再試行ロジックを修正しました。調整ループは、接続プールの変更を正しく検出し、指数バックオフを使用して「クローズドプール」エラーを削減します。 #8554バックアッププラグインと連携するように、レプリカのスケーリング中のボリュームスナップショットの使用を修正しました。以前は、この最適化はツリー内バックアップ実装でのみ利用できましたが、バックアッププラグインを使用するクラスターは、新しいレプリカを作成するときにボリュームスナップショットを活用できるようになりました。 #8506
ブートストラップコントローラのinitコンテナの設定を正しく継承するように
Poolerテンプレートを修正しました。 #8394Webhookエラーを修正して、
Poolerの正しいAPIグループpostgresql.cnpg.ioとバックアップWebhookを使用し、一貫したAPIエラーレポートを保証します。 #8485エラーを処理する際のハイバーネーションリコンサイラーの潜在的なnilポインター逆参照を修正しました。 @PascalBourdierによる寄稿。 #8756
呼び出し元が誤って共有データを変更する可能性がある環境キャッシュの問題を修正しました。
LoadEnvファンクションは、キャッシュされた環境スライスのコピーを結果、ミューテーションがキャッシュに影響を与えるのを防ぐようになりました。 #8880
バージョン1.26.1
発売日 2025年7月25日
DJ Walker-Morgan を偲んで .*
重要な変更
CloudNativePGは、プラグインベースのバックアップとリカバリーにとらわれないアーキテクチャに向けて動いていますBarman
Cloudの1.26.0で開始されました。この移行の一環として、Cluster
リソースの.status セクションの次のフィールドは非推奨になりました。
firstRecoverabilityPointfirstRecoverabilityPointByMethodlastSuccessfulBackuplastSuccessfulBackupByMethodlastFailedBackup
さらに、次のPrometheusメトリックは非推奨です。
cnpg_collector_first_recoverability_pointcnpg_collector_last_available_backup_timestampcnpg_collector_last_failed_backup_timestamp
これらのフィールドとメトリックは、プラグインベースのバックアップたとえば、 CNPG-Iを介したBarman Cloudなどを使用する場合、更新されません。これらは、インコアBarman Cloudとボリュームスナップショットバックアップをまだ使用しているユーザーの場合、機能し続けます。
注 メンテナーとして、1.26.0リリース中にこの変更を強調表示しなかったことにより発生したご迷惑をお詫び申し上げます。プラグインベースのバックアップおよびリカバリーアーキテクチャへの移行に伴い、プロダクション**に移動する前にステージング環境で選択したプラグインを徹底的にテストし、ニーズを満たすようにワークフローと可観測性の統合が継続されることを確認することをお勧めします。 。 CloudNativePGがよりモジュール化された堅牢なエクスペリエンスを提供するように進化するにあたり、ご理解とご協力をいただきありがとうございます。
変更
cnpgプラグインビルドマトリックスから386およびARM v5/v6/v7アーキテクチャを削除し、公開されたバイナリ #7648 の数を削減します。
機能強化
HugePages設定を正しく考慮することにより、shared_buffersの検証を向上させ、正確なメモリ構成チェック #7864 を保証します。PostgreSQLワーカープロセスの
oom_score_adjを設定して、メモリ不足が発生した場合の優先順位付けを向上させます #7891 。ユーザーシークレットに
fqdn-uriおよびfqdn-jdbc-uriフィールドを追加して、アプリケーションの接続文字列管理を簡素化し、DNSベースの接続のベストプラクティス #7852 に合わせます。PostgreSQLシステム識別子を追跡するために、
ClusterステータスにsystemIDフィールドと関連条件を追加しました。 #7717 。
修正
接続プーラーにミューテックスを追加して、接続マップへの同時アクセスを保護し、高同時実行環境 #7804 の安定性を向上させます。
指定されたプライマリを正しく検出することにより、レプリカクラスターインスタンスの順序を修正し、レプリカクラスターの安定性とスイッチオーバー操作を向上させました #8108 。
PVCの
VolumeAttributesClassのリコンサイル、ストレージの互換性とライフサイクル管理を強化する #7885 のサポートを追加しました。内部ウェブサーバールーチンをノンブロッキングにして、負荷時の応答性を向上させました #8071 。
ensureReplicationClientLeafCertificateエラーがnot foundメッセージ #8086 に正しいsecretNameを表示しない問題を修正しました。PostgreSQLでサポートされているパラメーターのみを更新することにより、無効な
ALTER SUBSCRIPTIONステートメントを防止しました。copy_dataのようなサポートされていないオプションは、リコンシリエーションの失敗 7844 を回避するために無視されます。接続プーラーの
bootstrap-controllerがresources設定を正しく適用しない問題を修正しました #7922 。バックアップ中に
targetPodが異常になった場合、オンラインバックアップはきれいに失敗するように保証、部分的または誤解を招くバックアップ #7944 。障害後にバックアップリソースステータスが適切に設定されるように保証、オブザーバビリティとスクリプトの信頼性が向上します #7898 。
livenessプローブの処理を改善して、不要な場合に不必要なタイムアウトを回避します #7902 。
バージョン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メトリックの収集のサポートを追加しました。 #7005Azureボリュームのサイズを正しく変更する必要がなくなったため、
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復元操作の回帰を修正しました #7507WALアーカイブにフェイルファストメカニズムを導入することにより、バックアップ効率が向上し、予期しないプライマリ降格をより迅速に検出でき、不必要な再試行を回避できます #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パラメーターはプラグインベースのバックアップに必要であり、非プラグインバックアップ方法では許可されないように保証 #7506primaryUpdateMethodが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日に終了します