Release notes for CloudNativePG 1.19
CloudNativePGの1.19マイナーリリースのユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHubのリリースブランチで。
バージョン1.19.6
発売日 2023年11月3日
警告
これは、1.19.Xシリーズの最後のリリースになる予定です。ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。
機能強化
アクティブなストリーミングベースバックアップの進行状況情報を使用して、
kubectlのcnpgプラグインのstatusコマンドを強化します#3101pgBouncer
Poolerリソースを使用したmax_prepared_statementsの構成を許可します #3174
修正
スイッチオーバー中にWALアーカイブを一時停止し、完了時に再開します #3227
PostgreSQLクラスターを管理するときにインスタンスマネージャーが常に
synchronous_commit = localを使用するように保証#3143.spec.certificates.replicationTLSSecretを介したストリーミングレプリケーションユーザーのカスタム証明書が機能するようになりました #3209cnpg.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秒に変更します #2848Postgresのスマートシャットダウンが完了するために予約された時間枠を制御するための
smartShutdownTimeoutと呼ばれる新しいパラメーターを導入します。 Postgresを停止するまでの全体的なタイムアウトを計算する一般的な式はmax(stopDelay - smartShutdownTimeout, 30)#2848startDelayのデフォルト値を30秒ではなく3600に変更します #2847livenessProbeの初期遅延をより適切なKubernetes起動プローブに置き換えて、Postgresサーバーの起動に対処する #2847
switchoverDelayのデフォルト値を40000000秒ではなく3600秒に変更します #2846postgresqllabelのサポートを停止します - 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を追加します #2612podSpecアノテーションを介したポッドのロールアウト条件の検出を向上させます #2243プライマリタイムスタンプとアップタイムをkubectlプラグインの
statusコマンドに追加します #2953
修正
プライマリロールで準備ができているPVCを優先することにより、プライマリインスタンスが常に最初に再作成されるようにします #2544
リカバリー中に
cnpg.io/skipEmptyWalArchiveCheckアノテーションを尊重して、空のWALアーカイブのチェックをバイパスします #2731PostgreSQLサーバーはダウンしているが、ポッドがプライマリでアップしているときに、クラスターがスタックするのを防ぐ #2966
レプリケーションスロットが有効になっているときに、レプリカクラスターの指定されたプライマリを通常のHAレプリカとして扱わないようにします #2960
セレクターが変更されるたび、またはラベル/注釈を変更する必要がある場合にサービスを調整します #2918
リカバリブートストラップ中に所有者とデータベースの両方をデフォルト
appに設定する #2957キャッシュされたクラスターでの書き込み-読み取りの同時実行を回避する #2884
空の項目を削除し、一意に作成し、生成されたロールの
ResourceNameセクションでソート #2875エラーが発生した場合に、
ContinuousArchiving条件が適切に’failed’に設定されていることを確認します #2625バックアップが完了または失敗した場合にのみ停止することにより、中断に対する
Backupリソース調整サイクルの復元力を高めます #2591PodMonitor
labelsおよびannotationsを調整する #2583RoleオブジェクトのRBACresourceNamesの欠落によるバックアップ失敗を修正しました #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アノテーションを使用させましょう #2657cnpg.io/instanceRoleラベルを追加しますが、既存のroleラベルを非推奨にします #2915
技術的な強化
APIリファレンスドキュメントを自動的にビルドするように
k8s-api-docgenをgen-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プラグインに追加して、KubernetesVolumeSnapshot標準リソースを使用してスタンバイからクラスターの一貫したコールドバックアップを作成します #1960.spec.bootstrap.recovery.volumeSnapshotスタンザを介したCSI VolumeSnapshotリソースのセットからのリカバリの最初の実装#1960pg_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
別のトランザクションを使用して、ロールの資格情報を調整します。このパッチの前は、オペレーターは、いずれかが失敗した場合、すべてのロールの同期を元に戻していました#2004
クラスターの復元中にフェンシングが削除されることを確認します #1987
ポッド削除時のロギングを改善します #2136
修正
k3dでのセットアップを妨げる可能性があるk3dエンジンでのバインドされていない変数を修正しました #2157
メトリックで正しいPGバージョンをレポートする #2126
ドキュメントで正しいwalStorageキーを使用する #2140
オペレーターがインスタンスに接続できない場合に調整を停止し、このような場合に明確な診断を提供します。これは、ネットワークの問題がCloudNativePGの通常のオペレーションを妨げるケースを明確にするのに役立ちます#2145、#2233、および#2242
バージョン1.19.2
発売日 2023年4月27日
機能強化
kubectlのcnpgプラグインのreportコマンドの--logsオプションを改善して、可能な場合は以前のログも含めます #1811-anyサービスがデフォルトで無効になりました #1755
セキュリティ
ローカルファイルを介したオーバーライドを介して
SeccompProfileのカスタマイズを有効にします #1827
修正
サーバーが初めて起動される前に、
initdbブートストラップフェーズ中にユーザーが提供したPostgreSQL構成を適用します #1858
バージョン1.19.1
発売日 2023年3月20日
機能強化
デフォルトのバックアップターゲットポリシー#1602のオーバーライドを許可します。以前は、すべてのバックアップとスケジュールされたバックアップがクラスターレベルのターゲットポリシーを使用していました
debugクラスターのログレベルをinitdbジョブに拡張します#1503PgBouncerプーラーのIPv6とカスタム
pg_hbaをサポート#13952つの新しいメトリックとステータスの追加情報でバックアップの可観測性を強化します #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アーカイブ情報を適切に表示する #1666AdditionalPodAffinityおよび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
kubectlのcnpgプラグインにbackupコマンドを導入して、クラスターの新しいベースバックアップを発行します #1348ユーザーがWALファイルを既存のPostgresクラスター上の専用ボリュームに移動できるようにすることにより、個別のWALボリューム機能のサポートを向上させます #1066
min_wal_size、max_wal_size、keep_wal_size、wal_keep_segmentsに相当する値、および専用ボリュームに保存できるWALの最大数を含むPrometheusエクスポータの追加メトリックでWALの可観測性を強化 #1382streaming_replicaユーザーにデータベースコメントを追加します #1349GKEの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の実行をスキップする #1408waitForWalArchiveWorkingの接続エラーに対する耐性を高める #1399PVCロールが常に一貫していることを確認します #1380
pvcTemplateを使用するときにwalStorageのサイズ変更を許可します #1315ExecCommandがタイムアウトに従っていることを確認します#1242Prometheusがインストールされていない場合は
PodMonitorリコンサイルを回避する #1238必要がない場合は
PodMonitorの検索を回避します #1213