CloudNativePG 1.21のリリースノート#

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

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

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

バージョン1.21.0#

発売日 2023年10月11日

特徴

  • バックアップとリカバリーのボリュームスナップショットのサポート ボリュームスナップショットで標準の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

セキュリティ

  • デフォルトのseccompProfile をオペレーター展開に追加します #2926

機能強化

  • ボリュームスナップショットの一貫したセットからのレプリカクラスターのブートストラップを有効にする #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

修正

  • プライマリロールで準備ができている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に追加します - Prometheusのpg_wal_stat デフォルトメトリックを修正します#2569 - Prometheusのpg_replication デフォルトメトリック#2744および#2750を改善します -提供されたGrafanaでalertName の代わりにalertInstanceLabelFilter を使用しますダッシュボード - メトリック収集で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