Release notes for CloudNativePG 1.20 ==================================== CloudNativePGの1.20マイナーリリースのユーザーに表示される変更の履歴。 変更の完全なリストについては、 `commits `_ を参照してください。 GitHubのリリースブランチで。 バージョン1.20.6 ---------------- **発売日** 2024年2月2日 .. Warning:: これは、1.20.Xシリーズの最後のリリースになる予定です。ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。   機能強化 - ``ephemeralVolumeSource`` オプションからクレームテンプレートを使用して、Postgresクラスターの一時ボリュームストレージを調整する #3678 - ``kubectl`` の\ ``cnpg`` プラグインに\ ``pgadmin4`` コマンドを導入し、特定のデータベースクラスターへの接続をデモンストレーションし、種類などのローカル環境でそのコンテンツをナビゲートする簡単な方法を提供します - 評価目的のみ #3701 - ユーザー名マップのリストを介して、\ ``.spec.postgresql.pg_ident`` スタンザを介してPostgreSQLのidentマップファイルのカスタマイズを許可します #3534 修正 - ``ALTER SYSTEM`` SQLコマンドが無効になっているクラスターで\ ``postgresql.auto.conf`` が読み取り専用であるため、 ``pg_rewind`` が失敗するという回復不能な問題を防ぐ - デフォルト #3728 - インポートプロセス中にPostgreSQLインスタンスの耐久性設定を無効にすることにより、 ``initdb`` ブートストラップ方法のインポート機能を使用する際のディスク領域不足のリスクを削減します。 #3743 - 誤ったリソース量の比較によるポッドの再起動を回避します。 “1 != 1000m” #3706 - ``pgpass`` 接続フィールドの予約文字を適切にエスケープする #3713 - ``.spec.projectedVolumeTemplate.sources`` でゼロとnilの異なる値を考慮することにより、ポッドの体系的なロールアウトを防止 #3647 バージョン1.20.5 ---------------- **発売日** 2023年12月21日 セキュリティ - デフォルトでは、TLSv1.3はすべてのPostgreSQL 12以降のインストールに適用されます。さらに、ユーザーは\ ``ssl_ciphers`` 、\ ``ssl_min_protocol_version`` 、および\ ``ssl_max_protocol_version`` GUC#3408を構成できます。 - セキュリティ対策を強化するためのDockerイメージスキャンのDockleおよびSnykの統合 #3300 機能強化 - 外部クラスターのリコンシリエーションの向上#3533 - ``ALTER SYSTEM`` コマンドを有効/無効にする機能の導入 #3535 - ``Cluster`` および\ ``Pooler`` リソースの\ ``.spec.monitoring`` スタンザの\ ``podMonitorMetricRelabelings`` および\ ``podMonitorRelabelings`` オプションを介したPrometheusの動的なリラベル付けのサポート #3075 - PostgreSQLへのネットワーク接続を確立する際の\ ``PGPASSFILE`` 環境変数の使用を削除 #3522 - クラスターのPVCを収集することにより\ ``cnpg report`` プラグインコマンドを改善しました #3357 - ``cnpg status`` プラグインコマンドの強化、アラートを含む管理対象ロールに関する情報を提供します #3310 - 接続プーラー - ``Pooler`` リソースのインスタンスを0にスケールダウンすることが可能になりました#3517. - 値が’pooler’である\ ``cnpg.io/podRole`` ラベルをすべてのプーラー展開に追加し、インスタンスポッドと区別します #3396 修正 - ``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。 変更点 - デフォルトのオペランドイメージをPostgreSQL 16.1#3270に設定します。 バージョン1.20.4 ---------------- **発売日** 2023年11月3日 機能強化 - アクティブなストリーミングベースバックアップの進行状況情報を使用して、\ ``kubectl`` の\ ``cnpg`` プラグインの\ ``status`` コマンドを強化します#3101 - pgBouncer ``Pooler`` リソースを使用した\ ``max_prepared_statements`` の構成を許可します #3174 修正 - スイッチオーバー中にWALアーカイブを一時停止し、完了時に再開します #3227 - PostgreSQLクラスターを管理するときにインスタンスマネージャーが常に\ ``synchronous_commit = local`` を使用するように保証#3143 - ``.spec.certificates.replicationTLSSecret`` を介したストリーミングレプリケーションユーザーのカスタム証明書が機能するようになりました #3209 - ``cnpg.io/cluster`` ラベルを\ ``Pooler`` ポッドに設定します #3153 変更点 - Postgresレプリケーション設定を制御するためにPGDATA内の\ ``postgresql.auto.conf`` ファイルの使用を停止し、\ ``override.conf`` という名前のファイルに置き換えます #2812 技術的な強化 - インスタンスマネージャーでPostgreSQLの拡張クエリプロトコルを使用する #3152 バージョン1.20.3 ---------------- **発売日** 2023年10月11日 重要な変更 - ``stopDelay`` のデフォルト値を30秒ではなく1800秒に変更します #2848 - Postgresのスマートシャットダウンが完了するために予約された時間枠を制御するための\ ``smartShutdownTimeout`` と呼ばれる新しいパラメーターを導入します。 Postgresを停止するまでの全体的なタイムアウトを計算する一般的な式は\ ``max(stopDelay - smartShutdownTimeout, 30)`` #2848 - ``startDelay`` のデフォルト値を30秒ではなく3600に変更します #2847 - livenessProbeの初期遅延をより適切なKubernetes起動プローブに置き換えて、Postgresサーバーの起動に対処する #2847 - ``switchoverDelay`` のデフォルト値を40000000秒ではなく3600秒に変更します #2846 - ``postgresql`` labelのサポートを停止します - 1.18の\ ``cnpg.io/cluster`` に置き換えられました#2744 セキュリティ - デフォルトの\ ``seccompProfile`` をオペレーター展開に追加します #2926 機能強化 - ``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 修正 - プライマリロールで準備ができている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 変更点 - デフォルトのオペランドイメージを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 技術的な強化 - APIリファレンスドキュメントを自動的にビルドするように\ ``k8s-api-docgen`` を\ ``gen-crd-api-reference-docs`` に置き換えます #2606 バージョン1.20.2 ---------------- **発売日** 2023年7月27日 機能強化 - kubectlプラグインの新しい\ ``logs`` コマンド、クラスター内のすべてのポッドのログを取得または追跡する #2375 - ポッドでpriorityClassNameを指定するサポートを追加し、Kubernetesのスケジュール決定を支援します #2043 - CloudNativePGクラスターによるノードの使用状況をモニタするためのメトリックとステータスフィールドを追加します #2257 - ドキュメントのさまざまな機能強化 - hugepagesに関連するトラブルシューティング手順を追加します#1390 - FAQページを拡張します#2344 技術的な強化 - 復元プロセスの先頭にチェックを追加して、続行できることを確認します。できない場合は、改善されたエラー診断を提供します #2419 - 管理対象ロールでの無期限パスワードの処理を改善します#2334 修正 - リカバリターゲット設定のロジックがPostgresのロジックと一致することを確認します #2460 - サービスアカウントの作成中にのみownerMetadataを設定することにより、クラスターが所有していないサービスアカウントの引き継ぎを防止します #2462 - initdbおよびリストアのためのPGDATAディレクトリの正しいアクセス許可を確認します #2384 - 構成のリロード中にインスタンスマネージャーのクラッシュの可能性を防止 #2393 - 失敗したバックアップの後に新しいバックアップが成功した場合に、 LastFailedArchiveTimeアラートがトリガーされないようにしました #1751 - サービスが非インスタンスポッドをターゲットとしないようにする #2336 セキュリティ - すべてのプロジェクトの依存関係を最新バージョンに更新しました バージョン1.20.1 ---------------- **発売日** 2023年6月12日 機能強化 - ``snapshot`` コマンドを\ ``cnpg`` プラグインに追加して、Kubernetes ``VolumeSnapshot`` 標準リソースを使用してスタンバイからクラスターの一貫したコールドバックアップを作成します #1960 - ``.spec.bootstrap.recovery.volumeSnapshot`` スタンザを介したCSI VolumeSnapshotリソースのセットからのリカバリの最初の実装#1960 - ``pg_failover_slots`` をマネージド拡張機能に追加します #2057 - ドキュメントとクイックスタートガイドの指示を更新したGrafanaダッシュボードを改善しました #1916 - ``import`` スタンザに\ ``schemaOnly`` オプションを導入して、1つ以上の既存のデータベースから新しいPostgresクラスターをブートストラップするときにデータのエクスポートおよびインポートを回避します #2234 - インスタンスポッドのスケジュールを管理するためのTopologySpreadConstraintsのサポートを追加します #2202 - PgBouncerの\ ``Pooler`` に\ ``PodMonitor`` サポートを追加します#2034 - デフォルトのKubernetesスケジューラーをオーバーライドするオプションを追加します#2013 - ``Pooler`` リソースのデプロイメント戦略の構成を許可します #1983 - デフォルトのPostgreSQLバージョンを15.3に更新します#2022 - デフォルトでPgBouncer 1.19を使用する#2018 技術的な強化 - 更新されたk8s種類のテスト済みバージョン#2054 - 宣言的ロールはパスワードが設定されていない場合を無視し、以前に存在したロールの管理を容易にする必要があります#2029 - 別のトランザクションを使用して、ロールの資格情報を調整します。このパッチの前は、オペレーターは、いずれかが失敗した場合、すべてのロールの同期を元に戻していました#2004 - クラスターの復元中にフェンシングが削除されることを確認します #1987 - ポッド削除時のロギングを改善します #2136 修正 - K3でのセットアップを妨げる可能性があるk3sエンジンのバインドされていない変数を修正しました #2157 - メトリックで正しいPGバージョンをレポートする #2126 - ドキュメントで正しいwalStorageキーを使用する #2140 - オペレーターがインスタンスに接続できない場合に調整を停止し、このような場合に明確な診断を提供します。これは、ネットワークの問題がCloudNativePGの通常のオペレーションを妨げるケースを明確にするのに役立ちます#2145、#2233、および#2242 バージョン1.20.0 ---------------- **発売日** 2023年4月27日 .. Note:: CloudNativePG 1.20では、以前のバージョンのオペレーターと比較して、新しく作成された`Cluster` リソースのいくつかの機能のデフォルト動作にいくつかの変更を導入しました。これらの変更の目的は、構成よりも規約を通じて、すぐに使えるPostgresクラスターの復元力を向上させることです。 1つ以上のレプリカを持つクラスターの場合 - `target` が明示的に`primary` に設定されていない限り、スタンバイからのバックアップがデフォルトで有効になるようになりました - プライマリの再起動が、教師なしローリング更新手順を完了するデフォルトの方法になりました明示的な場合を除き、 `primaryUpdateMethod` はデフォルトで`restart` になります`switchover` に設定します)詳細については、「インストールとアップグレード」セクションを参照してください。   特徴 - **宣言的ロール管理** ``Cluster`` 仕様に\ ``managed.roles`` スタンザを導入して、\ ``CREATE ROLE`` や\ ``ALTER ROLE`` などのPostgreSQLの関連DDLコマンドに抽象化を提供することにより、データベースロールの完全なライフサイクル管理を提供します#1524、#1793および#1815) - **PostgreSQLクラスターの宣言的ハイバーネーション** ``cnpg.io/hibernation`` と呼ばれる新しいアノテーションを導入して、すべてのポッドを削除し、PVCのみを保持することによりPostgreSQLクラスターを宣言的に冬眠させます。この機能は、インバースプロシージャも実装します #1657 機能強化 - ``kubectl`` の\ ``cnpg`` プラグインの\ ``report`` コマンドの\ ``--logs`` オプションを改善して、可能な場合は以前のログも含めます #1811 - ``-any`` サービスがデフォルトで無効になりました #1755 セキュリティ - ローカルファイルを介したオーバーライドを介して\ ``SeccompProfile`` のカスタマイズを有効にします #1827 修正 - サーバーが初めて起動される前に、\ ``initdb`` ブートストラップフェーズ中にユーザーが提供したPostgreSQL構成を適用します #1858