Release notes for CloudNativePG 1.16
CloudNativePGの1.16マイナーリリースのユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHubのリリースブランチで。
バージョン1.16.5
発売日 2022年12月21日
警告
これは、1.16.Xシリーズの最後のリリースになる予定です。 ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。
重要なお知らせ
Armando Ruocco @armru を、一貫したインパクトのある貢献により新しいCloudNativePGメンテナーとして表彰 #1167
ARMv7サポートの削除 #1092
1.16の最終パッチリリース1.16.5。リリース1.16はサポート終了となります。
機能強化
kubectl-cnpgプラグインのrpm/debパッケージを追加します#1008
新しいクラスター定義のデフォルトのPostgreSQLバージョンを15.1に更新します #908
Documentation
CNPGサンドボックスへの参照を削除します#1120-クイックスタートドキュメントでのモニタリングに関する指示を優先して、CNPGサンドボックスは非推奨になりました
“Release upgrade”ディスカッションへのリンク#1148-リリース更新ディスカッションがデフォルトになりますリリースの発表とディスカッションのためのチャンネル
GOVERNANCE.mdのメンテナーの名誉ステータスを文書#1033 - メンテナーがコントリビューションを続行する準備ができていない場合に続行する方法を説明します
プルリクエストの作成手順の改善#1132
緊急バックアップのトラブルシューティング指示# 1184)
修正
ブートストラップのPGDATA権限が適切に750に設定されていることを確認します #1164
シークレットとサービスが見つからない場合にのみ作成するようにします #1145
復元時に設定済みのpg-walを尊重する #1216
nodeToClustersマップからレプリカをフィルタリングする #1194
技術的な強化
テストの概要に
ciclopsを使用する #1064 ciclops GitHubアクションに依存して、E2Eスイートの概要を提供し、そのプロジェクトから改善を継承しますバックポートプル要求ワークフローを追加します #965 - 注釈が付けられている場合、リリースブランチにパッチを自動的にバックポートします
e2eテストスイートでオペレーターログレベルを構成可能にする #1094
ラベルに基づいてテストの実行を有効にする #951
Goバージョンを1.18から1.19に更新します#1166
バージョン1.16.4
発売日 2022年11月10日
セキュリティ
SeccomProfileをポッドとコンテナに追加します #888
機能強化
cnpgプラグインのstatusコマンドフェンスされたクラスターの表示を明確にします #886
レプリカクラスターの表示を改善します #871
ドキュメント
モニタリングページを改善し、プロメテウスとグラファナを使用してローカルシステムでCloudNativePGの可観測性機能を評価する方法に関する手順を提供します #968
カスタムコントローラのデザイン理由に関するページを追加します #918
修正
plpgsqlファンクションを使用したデータベースのインポート #974ポイントインタイムリカバリーを実行するときに最も近いバックアップを適切に見つけます #949
ScheduledBackup形式がKubernetesCronJob形式に従っていないことを明確にします #883古い可能性があるKubernetesポッドの準備状況ではなく、インスタンスマネージャーからのPostgres情報に基づいてフェイルオーバーロジックをベースにします #890
新しく作成されるクラスターごとにアーカイブするWALがあることを確認します。これがないため、バックアップが機能しない可能性があります #897
ドキュメントの
barmanObjectStoreのYAMLキー名を修正しました #877krewリリースを修正#866
バージョン1.16.3
発売日 2022年10月6日
機能強化
コントローラマネージャーに
leaseDurationおよびrenewDeadlineパラメーターを導入して、オペレーター展開でのリーダー選択の構成を強化します #759初めてWALファイルをアーカイブする前に、バックアップオブジェクトストアが空であることを確認するメカニズムを改善します。正常にアーカイブされました
セキュリティ
nonroot:nonrootユーザーを使用して、distroless/static:nonrootコンテナイメージにコピーされるインスタンスマネージャーバイナリの権限を明示的に設定します #754
修正
プライマリに昇格した後、スタンバイでアクティブな接続をドロップします #737
ネイティブPrometheusエクスポーターでのMAPPEDMETRICおよびDURATIONメトリックタイプの変換を尊重します#765
バージョン1.16.2
発売日 2022年9月6日
機能強化
PgBouncer接続プーラー実装での下位ネットワークTCP設定の構成を有効にする#584
cnpg.io/instanceNameおよびcnpg.io/podRoleラベルが常にポッドとPVCに存在することを確認します#632および#680インスタンスの
roleラベルを基になるPVCに伝播する #634
修正
新しいクラスターのプライマリをブートストラップするときに
shared_preload_librariesを使用する #642別のプロセスが進行中であるかどうかをアトミックにチェックすることにより、オペレーターの複数のインプレースアップグレードプロセスが同時に実行されないようにします #655
新しくアップロードされたインスタンスマネージャーを保存するためのハードコードされたファイル名の使用を避け、オペレーターのオンラインアップグレード中に発生する可能性のある競合状態を防止します。 #660
GetAllAccessibleDatabases呼び出し時にパニックが発生しないようにします#641
バージョン1.16.1
発売日 2022年8月12日
機能強化
PostgreSQLの
huge_pagesオプションの構成を有効にする#456昇格と降格中の、フェールオーバーまたはスイッチオーバー後の、昇格の要求と書き込みの実際の可用性の間で経過時間を印刷することにより、ログを強化します#371
クラスターステータスにPostgreSQLクラスターのタイムラインを導入する #462
instanceNameおよびclusterNameラベルをジョブ、ポッド、およびPVCに追加して、これらのリソースとの相互作用を向上させます #534PostGISクラスターを作成する方法に関する説明を追加します #570
セキュリティ
securityContextをPooler展開に明示的に割り当てます #485読み取りタイムアウト値を内部Webサーバーに追加して、Slowloris DDoSを防止します #437
修正
再起動
stopDelayとスイッチオーバーswitchoverDelayは、以前に誤ってスワップされたため、正しい遅延を使用します。switchoverDelayが設定されず、デフォルト値40000000秒を使用する場合、無期限に再起動をブロックする可能性があるため、これは重要な修正です。#531クエリがエラーを返したときにメトリックコレクターがパニックを発生させないようにしました #396
未チェックのポインターを参照していた安全でないデバッグメッセージを削除し、場合によっては、ログレベルに関係なくセグメンテーションフォールトを発生させます #491
クラスターにアノテーションがない場合、フェンシング時のパニックを防止#512
TLS証明書が変更されない場合は、CRDの更新を回避する #501
CRDに証明書を挿入しながら競合を処理する #547
データベースインポート
データベースインポートで
pg_restoreを実行しているときにpostgresユーザーを使用します #411モノリスインポートケースで
sslmodeを明示的に設定してオリジン外部サーバーとのSSL接続を制御する要件を文書化します #572妨げたバグを修正
connectionParametersでdbnameが指定された場合のインポート作業からのインポート #569
バックアップとリカバリー - Google Cloudでオブジェクトストアの資格情報を正しく渡す #454
マイナーな変更
デフォルトのオペランドイメージをPostgreSQL 15.0に設定します
バージョン1.16.0
リリース日 2022年7月7日マイナーリリース
特徴
PostgreSQLのオフラインデータのインポートとメジャーアップグレード
bootstrap.initdb.importセクションを導入して、PostgreSQL論理バックアップコンセプトを使用して、新しいCloudNativePGクラスター内の既存のPostgreSQLインスタンスKubernetesの外部でも、ネットワークを介してオブジェクトをインポートする方法を提供しますpg_dump/pg_restore同じ方法を使用して、新しいクラスターでメジャーPostgreSQLのアップグレードを実行できます。この機能では、2種類のインポートmicroservice新しいクラスターに1つのデータベースのみをインポートしますとmonolith既存のインスタンスから選択したデータベースとロールをインポートします。ラベルに基づいた同期レプリケーションのアンチアフィニティルール アベイラビリティーゾーンなど、プライマリが実行されているノードとは異なる特性を持つノードで同期レプリカが実行されていることを確認します
機能強化
1つ以上のインスタンスがフェンスされている場合にフェイルオーバーを無効にする既存の制限を削除することにより、フェンシングを向上させます
DROP EXTENSION IF EXISTSを不必要に実行する代わりに、カタログに拡張機能が存在するかどうかを確認することにより、自動拡張機能管理フレームワークを強化しますスイッチオーバーとフェイルオーバー中のインスタンスマネージャーのログを改善します
オブジェクトストアからリカバリするとき、または
pg_basebackupを介してインスタンスのクローンを作成するときに、アプリケーションのデータベースの名前、その所有者、および関連シークレットの再定義を有効にしますこれはこれまでinitdbブートストラップでのみ可能でしたバックアップとリカバリー
PostgreSQL 15
の将来のサポートにはBarman > = 3.0.0が必要です
inheritFromAzureADオプションを介してBarmanクラウドバックアップのAzure ADワークロードIDを有効にしますb_tran_5barmanObjectStore.s3Credentials.regionを導入して、バックアップとリカバリーオブジェクトストアの両方にAWSのリージョンAWS_DEFAULT_REGIONを定義します
Kubernetes 1.24のサポート
変更点
デフォルトのオペランドイメージをPostgreSQL 15.0に設定します
バックアップとWALアーカイブに独自の実装に依存するのではなく、Kubernetes APIの条件を使用します
修正
PostgreSQLサーバーのCSVログパイプを開始する
WithActiveInstanceファンクション内の初期化順序を修正し、クラスター初期化フェーズでの適切なロギングを保証します。これは、バックアップからのリカバリーのようなブートストラップ操作が失敗している場合に特に役立ちますこのパッチの前には、このようなログ標準出力チャンネルに送信されず、永久に失われました)ホットスタンバイの依存パラメーターが減少し、プライマリが既に再起動している場合、不必要なスイッチオーバーを回避します
ALTER ROLEステートメントでロール名を適切に引用符で囲むバックアップとリカバリー
要求されたリカバリタイムスタンプとバックアップの開始とを比較していたPITRの最も近いBarmanバックアップを検出するアルゴリズムを修正しますb_tran_9 トランザクションID、名前付けリストアポイント、または
recoveryTargetセクションにbackupIDと呼ばれる新しいフィールドを提供することにより「即時」ターゲットbarman-cloud-wal-archiveおよびbarman-cloud-backupコマンドを呼び出す暗号化パラメーターを修正します現在のクラスター名と一致しないサーバー名を使用してバックアップオブジェクトストアからリカバリするときに
barmanObjectStore.serverNameオプションを無視するのをやめる
cnpgプラグイン - ユーザーが指定したときにプラグインが-nパラメーターに準拠していることを確認します -statusコマンドを修正して結果を並べ替え、出力のばらつきを削除します