CloudNativePG 1.26のリリースノート ================================== .. raw:: html CloudNativePGの1.26マイナーリリースのユーザーに表示される変更の履歴。 変更の完全なリストについては、 `commits `_ を参照してください。 GitHubのリリースブランチで。 バージョン1.26.1 ---------------- **発売日** 2025年7月25日 * `DJ Walker-Morgan `_ を偲んで .* 重要な変更 ^^^^^^^^^^ CloudNativePGは、プラグインベースのバックアップとリカバリーにとらわれないアーキテクチャに向けて動いていますBarman Cloudの1.26.0で開始されました。この移行の一環として、\ ``Cluster`` リソースの\ ``.status`` セクションの次のフィールドは非推奨になりました。 - ``firstRecoverabilityPoint`` - ``firstRecoverabilityPointByMethod`` - ``lastSuccessfulBackup`` - ``lastSuccessfulBackupByMethod`` - ``lastFailedBackup`` さらに、次のPrometheusメトリックは非推奨です。 - ``cnpg_collector_first_recoverability_point`` - ``cnpg_collector_last_available_backup_timestamp`` - ``cnpg_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日 .. _重要な変更-1: 重要な変更 ^^^^^^^^^^ - **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) .. _機能強化-1: 機能強化 ^^^^^^^^ - プライマリインスタンスのネットワーク分離検出を使用して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) .. _修正-1: 修正 ^^^^ - レプリカ構成で\ ``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) .. _変更-1: 変更 ^^^^ - 新しいクラスター定義に合わせて、デフォルトの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日に終了します