Release notes for CloudNativePG 1.19

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

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

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

バージョン1.19.6

発売日 2023年11月3日

警告

これは、1.19.Xシリーズの最後のリリースになる予定です。ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。

機能強化

  • アクティブなストリーミングベースバックアップの進行状況情報を使用して、kubectlcnpg プラグインの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.19.5

発売日 2023年10月11日

警告

バージョン1.19は、2023年11月9日にサポート終了EOLに達します。まだ行っていない場合は、できるだけ早くアップグレードの計画を開始してください。

重要な変更

  • 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

  • cnpg hibernate プラグインコマンドでPVCのClusterManifestAnnotationName およびPgControldataAnnotationName アノテーションを使用させましょう #2657

  • cnpg.io/instanceRole ラベルを追加しますが、既存のrole ラベルを非推奨にします #2915

技術的な強化

  • APIリファレンスドキュメントを自動的にビルドするようにk8s-api-docgengen-crd-api-reference-docs に置き換えます #2606

バージョン1.19.4

発売日 2023年7月27日

機能強化

  • kubectlプラグインの新しいlogs コマンド、クラスター内のすべてのポッドのログを取得または追跡する #2375

  • ポッドでpriorityClassNameを指定するサポートを追加し、Kubernetesのスケジュール決定を支援します #2043

  • CloudNativePGクラスターによるノードの使用状況をモニタするためのメトリックとステータスフィールドを追加します #2257

  • ドキュメントのさまざまな機能強化

    • hugepagesに関連するトラブルシューティング手順を追加します#1390

    • FAQページを拡張します#2344

技術的な強化

  • 復元プロセスの先頭にチェックを追加して、続行できることを確認します。できない場合は、改善されたエラー診断を提供します #2419

修正

  • リカバリターゲット設定のロジックがPostgresのロジックと一致することを確認します #2460

  • サービスアカウントの作成中にのみownerMetadataを設定することにより、クラスターが所有していないサービスアカウントの引き継ぎを防止します #2462

  • initdbおよびリストアのためのPGDATAディレクトリの正しいアクセス許可を確認します #2384

  • 構成のリロード中にインスタンスマネージャーのクラッシュの可能性を防止 #2393

  • 失敗したバックアップの後に新しいバックアップが成功した場合に、 LastFailedArchiveTimeアラートがトリガーされないようにしました #1751

  • サービスが非インスタンスポッドをターゲットとしないようにする #2336

セキュリティ

  • すべてのプロジェクトの依存関係を最新バージョンに更新しました

バージョン1.19.3

発売日 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のPoolerPodMonitor サポートを追加します#2034

  • デフォルトのKubernetesスケジューラーをオーバーライドするオプションを追加します#2013

  • Pooler リソースのデプロイメント戦略の構成を許可します #1983

  • デフォルトのPostgreSQLバージョンを15.3に更新します#2022

  • デフォルトでPgBouncer 1.19を使用する#2018

技術的な強化

  • 更新されたk8s種類のテスト済みバージョン#2054

  • 別のトランザクションを使用して、ロールの資格情報を調整します。このパッチの前は、オペレーターは、いずれかが失敗した場合、すべてのロールの同期を元に戻していました#2004

  • クラスターの復元中にフェンシングが削除されることを確認します #1987

  • ポッド削除時のロギングを改善します #2136

修正

  • k3dでのセットアップを妨げる可能性があるk3dエンジンでのバインドされていない変数を修正しました #2157

  • メトリックで正しいPGバージョンをレポートする #2126

  • ドキュメントで正しいwalStorageキーを使用する #2140

  • オペレーターがインスタンスに接続できない場合に調整を停止し、このような場合に明確な診断を提供します。これは、ネットワークの問題がCloudNativePGの通常のオペレーションを妨げるケースを明確にするのに役立ちます#2145、#2233、および#2242

バージョン1.19.2

発売日 2023年4月27日

機能強化

  • kubectlcnpg プラグインのreport コマンドの--logs オプションを改善して、可能な場合は以前のログも含めます #1811

  • -any サービスがデフォルトで無効になりました #1755

セキュリティ

  • ローカルファイルを介したオーバーライドを介してSeccompProfile のカスタマイズを有効にします #1827

修正

  • サーバーが初めて起動される前に、initdb ブートストラップフェーズ中にユーザーが提供したPostgreSQL構成を適用します #1858

バージョン1.19.1

発売日 2023年3月20日

機能強化

  • デフォルトのバックアップターゲットポリシー#1602のオーバーライドを許可します。以前は、すべてのバックアップとスケジュールされたバックアップがクラスターレベルのターゲットポリシーを使用していました

  • debug クラスターのログレベルをinitdb ジョブに拡張します#1503

  • PgBouncerプーラーのIPv6とカスタムpg_hba をサポート#1395

  • 2つの新しいメトリックとステータスの追加情報でバックアップの可観測性を強化します #1428

  • インスタンスマネージャーからのドキュメントAPI呼び出し #1641

  • Helmを介して展開名を明確にする #1505

  • psql コマンドをkubectl #1668のcnpg プラグインに追加して、ユーザーはポッドデフォルトでプライマリとのpsql セッションを開始できます。

技術的な強化

  • 依存関係の追跡/更新にRenovateを採用する #1367、#1473

  • オペレーターイメージにサポートされているすべてのアーキテクチャのバイナリを注入します #1513

  • バックアップ名を使用してバックアップオブジェクトストアのリソースと一致する #1650 Barman 3.3で導入された--name オプションを活用して、バックアップとオブジェクトストアの関連付けをより堅牢にします。

修正

  • プローブのエラー処理でパニックを防止 #1716

  • HTTPパッケージとコントローラのランタイムログがJSON形式であることを確認します #1442

  • 単一インスタンスのクラスターにWALストレージを追加します クラスター #1570

  • バックアップコードをより堅牢にするためのさまざまな改善 #1536、#1564、#1588、#1466、#1647

  • cnpg プラグインのstatus コマンドでWALアーカイブ情報を適切に表示する #1666

  • AdditionalPodAffinity およびAdditionalPodAntiAffinity が設定されていない場合でも、nodeAffinity が適用されるように保証 #1663

  • オンラインアップグレードフェーズ中にフェールオーバー遅延を導入する #1728 以前は、オンラインアップグレードプロセスが不必要にフェールオーバーロジックをトリガーする場合がありました。

バージョン1.19.0

発売日 2023年2月14日

重要なお知らせ

  • PostgreSQLバージョン10は、EOLに達したため、サポートされません。バージョン11以降がサポートされています。できるだけ早くPostgreSQL 15への移行を計画してください。 Importing Postgres databases を参照してください

PostgreSQLのメジャーオフラインアップグレードの詳細については、

特徴

  • スタンバイからのバックアップ prefer-standby に設定すると実行されることを受け入れる.spec.backup.target オプションを導入し、最も調整されたレプリカから物理ベースのバックアップを取得します #1162

  • 遅延フェイルオーバー プライマリの異常が検出されると、フェイルオーバープロセスを遅延するためのfailoverDelay パラメーターを導入します #1366

機能強化

  • Kubernetesの予測ボリュームのサポートを紹介します #1269

  • PostgreSQLサーバープロセスをより詳細に制御するためのサポートカスタム環境変数を導入します#1275

  • kubectlcnpg プラグインにbackup コマンドを導入して、クラスターの新しいベースバックアップを発行します #1348

  • ユーザーがWALファイルを既存のPostgresクラスター上の専用ボリュームに移動できるようにすることにより、個別のWALボリューム機能のサポートを向上させます #1066

  • min_wal_sizemax_wal_sizekeep_wal_sizewal_keep_segments に相当する値、および専用ボリュームに保存できるWALの最大数を含むPrometheusエクスポータの追加メトリックでWALの可観測性を強化 #1382

  • streaming_replica ユーザーにデータベースコメントを追加します #1349

  • GKEのWebhookでのファイアウォールの問題を文書化する #1364

  • recovery のpostgresql.confに関するノートを追加#1211

  • パッケージを使用してプラグインのインストールに関する手順を追加します #1357

  • 各マイナーリリースでサポートされているPostgresバージョンを指定する #1355

  • CloudNativePGのPVCグループの意味を明確にします#1344

  • DigitalOcean S3互換スペースの例を追加します #1289

  • 新しいクラスター定義のデフォルトのPostgreSQLバージョンを15.2に更新します #1430

  • アーキテクチャドキュメント#1432でKubernetesレイヤーを詳細にカバーしています

技術的な強化

  • リリースブランチの毎日のエンドツーエンドスモークテストを追加しました#1235

修正

  • streaming_replica ユーザーとしてのCHECKPOINT の実行をスキップする #1408

  • waitForWalArchiveWorking の接続エラーに対する耐性を高める #1399

  • PVCロールが常に一貫していることを確認します #1380

  • pvcTemplate を使用するときにwalStorage のサイズ変更を許可します #1315

  • ExecCommand がタイムアウトに従っていることを確認します#1242

  • Prometheusがインストールされていない場合はPodMonitor リコンサイルを回避する #1238

  • 必要がない場合はPodMonitor の検索を回避します #1213