Release notes for CloudNativePG 1.21 ==================================== CloudNativePGの1.21マイナーリリースのユーザーに表示される変更の履歴。 変更の完全なリストについては、 `commits `_ を参照してください。 GitHubのリリースブランチで。 バージョン1.21.6 ---------------- **発売日** 2024年6月12日 .. Warning:: これは、1.21.Xシリーズの最後のリリースになる予定です。ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。   機能強化 ^^^^^^^^ - 物理バックアップを使用したリカバリー中のスタンバイ依存パラメーターの構成を有効にしました #4564 - ``.spec.livenessProbeTimeout`` オプションを介したlivenessプローブタイムアウトの構成を有効にしました #4719 - ``kubectl`` : - の\ ``cnpg`` プラグイン ``--color`` オプションを追加することにより、プラグインでのANSIカラーのサポートを強化しました。これは、\ ``always`` 、\ ``never`` 、および\ ``auto`` デフォルトを受け入れます。#4775 - macOSユーザーのHomebrewでプラグインが利用できるようになりました。 #4602) 修正 ^^^^ - フェンスされたインスタンスが不要なループに入り、使用可能なすべてのCPUを消費するのを防ぎました #4625 - プライマリのインスタンスマネージャーが、停止操作に続いて障害が発生した後、インスタンスが起動するのを無期限に待機する問題を解決しました #4434 - ``hot_standby_feedback`` と管理対象クラスターレベルのレプリケーションスロット間の相互作用により、自動バキュームが正しく動作しない問題を修正しました。この問題は、ディスク領域がデッドタプルによって占有されたままになっている原因でした #4811 - ポッドコンテナのステータスが欠落しているときに発生したバックアップコントローラのパニックを修正しました #4765 - インスタンスマネージャーの不要なシャットダウンを防止 #4670 - PostgreSQL構成が変更されない場合の不必要なリロードを防止#4531 - コンテンツを書き込む一貫した一意の方法を保証することにより、identマップの不必要なリロードを防止しました #4648 - リソースのステータスを更新する代わりにパッチを適用することにより、フェーズ登録中の競合を回避しました #4637 - PostgreSQLを再起動し、フェンシングをリフティングするときにタイムアウトを実装しました #4504 - アーカイブモードを適切に設定するための昇格後にレプリカクラスターが再起動されるようにした #4399 - ボリュームスナップショットバックアップでランダムな障害を引き起こしていた不要なコンカレントキープアライブルーチンを削除しました #4768 - ``pgaudit.log_rows`` オプションが有効になっているときに返される追加行フィールドの正しい解析を保証し、監査ログが通常のログストリームに誤ってルーティングされるのを防ぎます #4394 - ``kubectl`` 用の\ ``cnpg`` プラグイン - ``cnpg status`` コマンドを使用したPDBのリストに関する問題を解決しました #4530 変更 ^^^^ - デフォルトのオペランドイメージをPostgreSQL 16.3に設定した#4584 - 名前空間オブジェクトのすべてのRBAC要件を削除しました #4753 バージョン1.21.5 ---------------- **発売日** 2024年4月24日 .. _機能強化-1: 機能強化 ^^^^^^^^ - ユーザーは\ ``wal_log_hints`` PostgreSQLパラメーターを構成できるようになりました #4218 #4218 - 自動的に生成されたシークレットのURIの完全修飾ドメイン名FQDN #4095 - クラスターの復元中にクラスターが所有していないインスタンスポッドのクリーンアップ #4141 - ``recovery`` ブートストラップで\ ``barman-cloud-wal-restore`` を呼び出す際のエラー検出 #4101 .. _修正-1: 修正 ^^^^ - スイッチオーバーの前に、選択されたレプリカがストリーミングレプリケーションにあることを確認しました #4288 - インスタンスのLSNをソートするときにその解析エラーを正しく処理する #4283 - 昇格できる正常なスタンバイがない場合は、プライマリポッドを再作成します #4132 - リストアジョブが失敗した場合の\ ``PGDATA`` のクリーンアップ #4151 - 構成の更新時に証明書をリロードします #3705 - ``kubectl`` の\ ``cnpg`` プラグイン - ``destroy`` 、\ ``fencing`` 、および\ ``promote`` プラグインコマンドの引数処理を改善します#4280 - ``cnpg status`` のバックアップの進行状況のパーセンテージを正しく処理します#4131 - 13b_tranにシーケンスのないデータベース - #4346) 変更点 ^^^^^^ - Grafanaダッシュボードは次の場所にあります。 https://github.com/cloudnative-pg/grafana-dashboards #4154 バージョン1.21.4 ---------------- **発売日** 2024年3月14日 .. _機能強化-2: 機能強化 ^^^^^^^^ - PostgreSQLで\ ``wal_level`` GUCのカスタマイズを許可する #4020 - ``cnpg.io/skipWalArchiving`` アノテーションを追加して、\ ``enabled`` に設定されている場合にWALアーカイブを無効にします #4055 - ``publication`` および\ ``subscription`` コマンドグループで\ ``kubectl`` の\ ``cnpg`` プラグインを強化して、PostgreSQLネイティブ論理レプリケーションを強制的にセットアップする #4052 - オペレーターによって処理されるTLS証明書の自動管理のために\ ``CERTIFICATE_DURATION`` および\ ``EXPIRING_CHECK_THRESHOLD`` のカスタマイズを許可します #3686 - ``kubectl`` の\ ``cnpg`` プラグインを使用したタブ補完の初期サポートを導入します #3875 - インプレース更新中に、実行中のオペレーターイメージの対応するカタログから正しいアーキテクチャのバイナリを取得し、オペレーターがサポートされているアーキテクチャを備えたポッドに正しいバイナリを注入できるようにします #3840 .. _修正-2: 修正 ^^^^ - PVCグループラベルをポッド上のラベルと適切に同期します。すべてのポッドが削除され、オペレーターが最初にどのポッドを再作成するかを決定する必要がある場合に重要な側面 #3930 - レプリカのクローンを作成するときに\ ``wal_sender_timeout`` を無効にして、接続が遅いことによるタイムアウトエラーを防ぐ #4080 - リカバリブートストラップ手順を開始する前にボリュームスナップショットの準備ができていることを確認し、不完全なバックアップによるリカバリがエラーループに入るエラー状態を防止します #3663 - 管理対象ロールで接続制限の設定を解除するときのエラーループの防止 #3832 - インスタンスポッドは削除されたが、クラスターステータスのハイバーネーション状態条件がfalseに設定されたままである、ハイバーネーションのコーナーケースを解決します #3970 - Barman CloudのGoogle Cloud機能を正しく検出する #3931 セキュリティ ^^^^^^^^^^^^ - OLMのオペレーター権限に\ ``ClusterRole`` の代わりに\ ``Role`` を使用し、名前空間ごとにインストールするときに必要な特権が少なくなります #3855、#3990 - PgBouncerプーラーのSQLクエリーで完全修飾オブジェクト名を適用する #4080 .. _変更-1: 変更 ^^^^ - Kubernetesの推奨事項に従って、マニフェストのクライアントサイドからサーバーサイドのアプリケーションに切り替えます。オペレーター#3729のインストール時に、デフォルトで\ ``--server-side`` オプションが必要です。 - デフォルトのオペランドイメージをPostgreSQL 16.2#3823に設定します。 バージョン1.21.3 ---------------- **発売日** 2024年2月2日 .. _機能強化-3: 機能強化 ^^^^^^^^ - ``ephemeralVolumeSource`` オプションからクレームテンプレートを使用して、Postgresクラスターの一時ボリュームストレージを調整する #3678 - ``kubectl`` の\ ``cnpg`` プラグインに\ ``pgadmin4`` コマンドを導入し、特定のデータベースクラスターへの接続をデモンストレーションし、種類などのローカル環境でそのコンテンツをナビゲートする簡単な方法を提供します - 評価目的のみ #3701 - ユーザー名マップのリストを介して、\ ``.spec.postgresql.pg_ident`` スタンザを介してPostgreSQLのidentマップファイルのカスタマイズを許可します #3534 .. _修正-3: 修正 ^^^^ - ``ALTER SYSTEM`` SQLコマンドが無効になっているクラスターで\ ``postgresql.auto.conf`` が読み取り専用であるため、 ``pg_rewind`` が失敗するという回復不能な問題を防ぐ - デフォルト #3728 - インポートプロセス中にPostgreSQLインスタンスの耐久性設定を無効にすることにより、 ``initdb`` ブートストラップ方法のインポート機能を使用する際のディスク領域不足のリスクを削減します。 #3743 - 誤ったリソース量の比較によるポッドの再起動を回避します。 “1 != 1000m” #3706 - ``pgpass`` 接続フィールドの予約文字を適切にエスケープする #3713 - ``.spec.projectedVolumeTemplate.sources`` でゼロとnilの異なる値を考慮することにより、ポッドの体系的なロールアウトを防止 #3647 - ``override.conf`` に組み込まれたオプションを\ ``postgresql.auto.conf`` からプルーニングすることにより、構成の一貫性を確保します #3773 バージョン1.21.2 ---------------- **発売日** 2023年12月21日 .. _セキュリティ-1: セキュリティ ^^^^^^^^^^^^ - デフォルトでは、TLSv1.3はすべてのPostgreSQL 12以降のインストールに適用されます。さらに、ユーザーは\ ``ssl_ciphers`` 、\ ``ssl_min_protocol_version`` 、および\ ``ssl_max_protocol_version`` GUC#3408を構成できます。 - セキュリティ対策を強化するためのDockerイメージスキャンのDockleおよびSnykの統合 #3300 .. _機能強化-4: 機能強化 ^^^^^^^^ - 外部クラスターのリコンシリエーションの向上#3533 - ``ALTER SYSTEM`` コマンドを有効/無効にする機能の導入 #3535 - ``Cluster`` および\ ``Pooler`` リソースの\ ``.spec.monitoring`` スタンザの\ ``podMonitorMetricRelabelings`` および\ ``podMonitorRelabelings`` オプションを介したPrometheusの動的なリラベル付けのサポート #3075 - オブジェクトストアバックアップ#2940とともにボリュームスナップショットを考慮することにより、最初の復旧可能ポイントと最後に成功したバックアップの計算を強化しました。 - PostgreSQLへのネットワーク接続を確立する際の\ ``PGPASSFILE`` 環境変数の使用を削除 #3522 - クラスターのPVCを収集することにより\ ``cnpg report`` プラグインコマンドを改善しました #3357 - ``cnpg status`` プラグインコマンドの強化、アラートを含む管理対象ロールに関する情報を提供します #3310 - OLM展開に適した、オペレーター用のRed Hat UBI 8コンテナイメージの導入。 - 接続プーラー - ``Pooler`` リソースのインスタンスを0にスケールダウンすることが可能になりました#3517. - 値が’pooler’である\ ``cnpg.io/podRole`` ラベルをすべてのプーラー展開に追加し、インスタンスポッドと区別します #3396 .. _修正-4: 修正 ^^^^ - ``PodDisruptionBudget`` リソース#3312および#3434のメタデータ、アノテーション、およびラベルの調整。 - 管理対象資格情報シークレットのメタデータの調整 #3316 - 本文の読み取りエラーが全体的なエラーとして処理され、バックアッププロセスが無期限にスタックしたままになるバックアップスナップショットコードのバグの解決#3321。 - ``immediate-checkpoint`` または\ ``wait-for-archive`` オプションが要求された場合の\ ``cnpg backup`` プラグインコマンドを使用したオンラインバックアップの暗黙的な設定#3449 - pg_basebackupを介して参加する場合のwal_sender_timeoutの無効化 #3586 - 外部クラスターが使用するシークレットのリロード #3565 - 接続プーラー - コントローラーが\ ``Pooler`` リソースが所有するすべてのシークレットを監視するように保証#3428. - ``Pooler`` リソースの\ ``RoleBinding`` の調整#3391. - ``Pooler`` リソースの\ ``imagePullSecret`` の調整#3389 Reconciliation of16_service ``Pooler`` の、必要なラベルの追加#3349. - ポッドだけでなく展開への\ ``Pooler`` ラベルの拡張#3350。 .. _変更点-1: 変更点 ^^^^^^ - デフォルトのオペランドイメージをPostgreSQL 16.1#3270に設定します。 バージョン1.21.1 ---------------- **発売日** 2023年11月3日 .. _機能強化-5: 機能強化 ^^^^^^^^ - 物理的オンラインベースバックアップ用のPostgreSQL APIを使用して、ボリュームスナップショットを使用したオンライン/ホットバックアップのサポートを導入します。特定のPostgresクラスターのホット/コールドバックアップのデフォルト構成は、 ``online`` オプションと\ ``.spec.backup.volumeSnapshot`` の\ ``onlineConfiguration`` スタンザを介して制御できます。明示的に設定しない限り、ボリュームスナップショットのバックアップはデフォルトでオンラインで取得されるようになりました #3102 - ``ScheduledBackup`` および\ ``Backup`` リソースを使用して、ボリュームスナップショットバックアップで上記のデフォルト設定をオーバーライドする機能を導入します #3208、#3226 - ターゲットインスタンススタンバイまたはプライマリがフェンスされる時間枠を削減することにより、ボリュームスナップショットのコールドバックアップを強化します。ボリュームスナップショットがカットおよびプロビジョニングされたらすぐにリフトすることにより、ボリュームスナップショットのコールドバックアップを強化します #3210 - ボリュームスナップショットからのリカバリー中に、既存のラベルと注釈を検証することにより、提供されたボリュームスナップショットがコヒーレントであることを確認します - ``kubectl`` の\ ``cnpg`` プラグインの\ ``backup`` コマンドは、 ``--online`` 、\ ``--immediate-checkpoint`` 、および\ ``--wait-for-archive`` ランタイムオプションを介してボリュームスナップショットバックアップエクスペリエンスを向上させます - アクティブなストリーミングベースバックアップの進行状況情報を使用して、\ ``kubectl`` の\ ``cnpg`` プラグインの\ ``status`` コマンドを強化します#3101 - pgBouncer ``Pooler`` リソースを使用した\ ``max_prepared_statements`` の構成を許可します #3174 .. _修正-5: 修正 ^^^^ - スイッチオーバー中にWALアーカイブを一時停止し、完了時に再開します #3227 - PostgreSQLクラスターを管理するときにインスタンスマネージャーが常に\ ``synchronous_commit = local`` を使用するように保証#3143 - ``.spec.certificates.replicationTLSSecret`` を介したストリーミングレプリケーションユーザーのカスタム証明書が機能するようになりました #3209 - ``cnpg.io/cluster`` ラベルを\ ``Pooler`` ポッドに設定します #3153 - ``VolumeSnapshots`` リソースのラベルの数を減らし、より適切なアノテーションにレンダリングします #3151 .. _変更点-2: 変更点 ^^^^^^ - 1.21.0で導入されたボリュームスナップショットバックアップは、デフォルトでオンライン/ホットになりました。オフライン/コールドバックアップを復元するには、 ``.spec.backup.volumeSnapshot`` を\ ``false`` に設定します - Postgresレプリケーション設定を制御するためにPGDATA内の\ ``postgresql.auto.conf`` ファイルの使用を停止し、\ ``override.conf`` という名前のファイルに置き換えます #2812 技術的な強化 ^^^^^^^^^^^^ - インスタンスマネージャーでPostgreSQLの拡張クエリプロトコルを使用する #3152 バージョン1.21.0 ---------------- **発売日** 2023年10月12日 .. Note:: このリリースには、事前定義された値を介して一般的な安定性とセキュリティを向上させることを目的として、CloudNativePGのデフォルト設定へのいくつかの変更が含まれています。以前のバージョンからアップグレードする場合は、以下の「重要な変更」セクションとアップグレードドキュメントを注意深くお読みください。   機能 ^^^^ - **バックアップとリカバリーのボリュームスナップショットのサポート** ボリュームスナップショットで標準のKubernetes APIを活用して、バックアップとリカバリー操作の両方でインクリメンタルおよび差分コピーなどの機能を利用します。スタンバイからのコールドバックアップをカバーするこの最初のステップは、1.22でも継続され、PostgreSQL APIとテーブルスペースを使用したホットバックアップのサポートになります。 - **OLMインストール方法** *stable* チャネルを介して最新のマイナーリリースの最新パッチバージョンのOperatorHub.ioを介してOperator Lifecycle Managerのサポートを導入します。 「EDB Postgres for Kubernetes 」オペレーターのバンドルを寄付し、CloudNativePGに適応させてくださったEDBに感謝します。 重要な変更 ^^^^^^^^^^ - ``stopDelay`` のデフォルト値を30秒ではなく1800秒に変更します #2848 - Postgresのスマートシャットダウンが完了するために予約された時間枠を制御するための\ ``smartShutdownTimeout`` と呼ばれる新しいパラメーターを導入します。 Postgresを停止するまでの全体的なタイムアウトを計算する一般的な式は\ ``max(stopDelay - smartShutdownTimeout, 30)`` #2848 - ``startDelay`` のデフォルト値を30秒ではなく3600に変更します #2847 - livenessProbeの初期遅延をより適切なKubernetes起動プローブに置き換えて、Postgresサーバーの起動に対処する #2847 - ``switchoverDelay`` のデフォルト値を40000000秒ではなく3600秒に変更します #2846 - セキュリティのためにデフォルトでスーパーユーザーアクセスを無効にする #2905 - デフォルトでHAのレプリケーションスロットを有効にする #2903 - ``postgresql`` labelのサポートを停止します - 1.18の\ ``cnpg.io/cluster`` に置き換えられました#2744 .. _セキュリティ-2: セキュリティ ^^^^^^^^^^^^ - デフォルトの\ ``seccompProfile`` をオペレーター展開に追加します #2926 .. _機能強化-6: 機能強化 ^^^^^^^^ - ボリュームスナップショットの一貫したセットからのレプリカクラスターのブートストラップを有効にする #2647 - 一貫したボリュームスナップショットのセットからの完全なポイントインタイムリカバリーを有効にする #2390 - ``cnpg.io/coredumpFilter`` アノテーションを導入して、PostgreSQLクラッシュが発生した場合に生成されるコアダンプの内容を制御します。デフォルトでは、ダンプから共有メモリセグメントを除外するように設定されています #2733 - 共有メモリと一時データのエフェメラルボリュームのエフェメラルストレージ制限を構成できます #2830 - Webhookを介したリソース制限と要求を検証する #2663 - PostgreSQLの\ ``shared_buffers`` がポッドの割り当てられたメモリリソースとコヒーレントであることを確認します #2840 - 資格情報シークレットに\ ``uri`` および\ ``jdbc-uri`` フィールドを追加して、開発者がアプリケーションをデータベースに接続するときに容易にします #2186 - レプリカの準備が整うのを待機するクラスターの状態をより詳細に制御するための新しいフェーズ\ ``Waiting for the instances to become active`` を追加します #2612 - ``podSpec`` アノテーションを介したポッドのロールアウト条件の検出を向上させます #2243 - プライマリタイムスタンプとアップタイムをkubectlプラグインの\ ``status`` コマンドに追加します #2953 .. _修正-6: 修正 ^^^^ - プライマリロールで準備ができているPVCを優先することにより、プライマリインスタンスが常に最初に再作成されるようにします #2544 - リカバリー中に\ ``cnpg.io/skipEmptyWalArchiveCheck`` アノテーションを尊重して、空のWALアーカイブのチェックをバイパスします #2731 - PostgreSQLサーバーはダウンしているが、ポッドがプライマリでアップしているときに、クラスターがスタックするのを防ぐ #2966 - レプリケーションスロットが有効になっているときに、レプリカクラスターの指定されたプライマリを通常のHAレプリカとして扱わないようにします #2960 - セレクターが変更されるたび、またはラベル/注釈を変更する必要がある場合にサービスを調整します #2918 - リカバリブートストラップ中に所有者とデータベースの両方をデフォルト\ ``app`` に設定する #2957 - キャッシュされたクラスターでの書き込み-読み取りの同時実行を回避する #2884 - 空の項目を削除し、一意に作成し、生成されたロールの\ ``ResourceName`` セクションでソート #2875 - エラーが発生した場合に、\ ``ContinuousArchiving`` 条件が適切に’failed’に設定されていることを確認します #2625 - バックアップが完了または失敗した場合にのみ停止することにより、中断に対する\ ``Backup`` リソース調整サイクルの復元力を高めます #2591 - PodMonitor ``labels`` および\ ``annotations`` を調整する #2583 - ``Role`` オブジェクトのRBAC ``resourceNames`` の欠落によるバックアップ失敗を修正しました #2956 - 可観測性 - TCPポートラベルをデフォルトの\ ``pg_stat_replication`` メトリックに追加します #2961 - プロメテウスの\ ``pg_wal_stat`` デフォルトメトリックを修正します #2569 - プロメテウスの\ ``pg_replication`` のデフォルトメトリックを改善します #2744および#2750 - 代わりにedb_traned_13 edb_13を使用します提供されたGrafanaダッシュボード - メトリック収集で\ ``standard_conforming_strings`` を適用する #2888 .. _変更点-3: 変更点 ^^^^^^ - デフォルトのオペランドイメージをPostgreSQL 16.0に設定します - フェンシングは、スマートシャットダウンの代わりにPostgreSQLの高速シャットダウンを使用してインスタンスを停止するようになりました #3051 - Webhookの名前をkb.ioからcnpg.ioグループに変更します #2851 - ``kubectl`` プラグインの\ ``cnpg snapshot`` コマンドを\ ``cnpg backup -m volumeSnapshot`` に置き換えます - ``cnpg hibernate`` プラグインコマンドでPVCの\ ``ClusterManifestAnnotationName`` および\ ``PgControldataAnnotationName`` アノテーションを使用させましょう #2657 - ``cnpg.io/instanceRole`` ラベルを追加しますが、既存の\ ``role`` ラベルを非推奨にします #2915 .. _技術的な強化-1: 技術的な強化 ^^^^^^^^^^^^ - APIリファレンスドキュメントを自動的にビルドするように\ ``k8s-api-docgen`` を\ ``gen-crd-api-reference-docs`` に置き換えます #2606