CloudNativePG 1.15 のリリース ノート¶
CloudNativePG の 1.15 マイナー リリースでユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHub のリリース ブランチにあります。
警告
バージョン 1.15 はサポート終了 (EOL) になりました。バージョン 1.15.5 は、1.15 マイナー バージョン用にリリースされる最後のバージョンです。
バージョン 1.15.5¶
リリース日: 2022 年 10 月 6 日
機能強化:
コントローラー マネージャーに
leaseDurationおよびrenewDeadlineパラメーターを導入して、オペレーターの展開におけるリーダー選出の構成を強化 (#759)初めて WAL ファイルをアーカイブする前に、バックアップ オブジェクト ストアが空であることをチェックするメカニズムを改善します。クラスタがブートストラップされた直後に
.check-empty-wal-archiveという新しいファイルがPGDATAに配置され、最初の WAL ファイルが実行された後に削除されます。正常にアーカイブされました
安全:
nonroot:nonrootユーザーを使用して、distroless/static:nonrootコンテナー イメージにコピーされたインスタンス マネージャー バイナリのアクセス許可を明示的に設定 (#754)
修正:
クラスターの条件を
metav1.Conditions構造体と互換性を持たせる (#720)スタンバイがプライマリに昇格した後、アクティブな接続をドロップします (#737)
ネイティブの Prometheus エクスポーターで
MAPPEDMETRICおよびDURATIONメトリック タイプの変換を尊重する (#765)
バージョン 1.15.4¶
リリース日: 2022 年 9 月 6 日
機能強化:
PgBouncer 接続プーラーの実装で低レベルのネットワーク TCP 設定の構成を有効にします (#584)
cnpg.io/instanceNameおよびcnpg.io/podRoleラベルがポッドおよび PVC に常に存在することを確認します (#632 および #680)インスタンスの
roleラベルを基礎となる PVC に伝播 (#634)
修正:
オペレーターの複数のインプレース アップグレード プロセスが同時に実行されないようにするには、別のプロセスが進行中かどうかをアトミックにチェックします (#655)。
新しくアップロードされたインスタンス マネージャーを格納するためにハードコードされたファイル名を使用しないようにし、オペレーターのオンライン アップグレード中に競合状態が発生するのを防ぎます (#660)
GetAllAccessibleDatabasesの呼び出し時にパニックが発生しないように (#641)
バージョン 1.15.3¶
リリース日: 2022 年 8 月 12 日
機能強化:
PostgreSQLの
huge_pagesオプションの設定を有効化 (#456)フェイルオーバーまたはスイッチオーバー後の昇格および降格中のログを強化し、昇格のリクエストから実際に書き込みが可能になるまでの経過時間を出力する (#371)
ジョブ、ポッド、および PVC に
instanceNameおよびclusterNameラベルを追加して、これらのリソースとの相互作用を改善 (#534)PostGIS クラスターの作成方法に関する説明を追加 (#570)
安全:
securityContextをPoolerデプロイメントに明示的に割り当てる (#485)内部 Web サーバーに読み取りタイムアウト値を追加して、Slowloris DDoS を防止 (#437)
修正:
再起動 (
stopDelay) と切り替え (switchoverDelay) に正しい遅延を使用します。これは、以前に誤って交換されたためです。switchoverDelayが設定されておらず、デフォルト値の 40000000 秒を使用している場合、再起動が無期限にブロックされる可能性があるため、これは重要な修正です (#531)クエリがエラーを返したときにメトリクス コレクターがパニックを引き起こさないようにする (#396)
場合によってはログ レベルに関係なくセグメンテーション違反につながる、未チェックのポインターを参照していた安全でないデバッグ メッセージを削除 (#491)
クラスターにアノテーションがない場合のフェンシング時のパニックを防止 (#512)
TLS 証明書が変更されていない場合、CRD の更新を回避 (#501)
CRD に証明書を挿入する際の競合の処理 (#547)
バックアップと復元: - Google Cloud でオブジェクト ストアの資格情報を正しく渡す (#454)
マイナーな変更:
デフォルトのオペランド イメージを PostgreSQL 15.0 に設定します。
バージョン 1.15.2¶
リリース日: 2022 年 7 月 7 日 (パッチ リリース)
機能強化:
スイッチオーバーおよびフェイルオーバー中のインスタンス マネージャーのロギングを改善
バックアップとリカバリで PostgreSQL 15 を今後サポートするには、 Barman >= 3.0.0 が必要です
変更点:
デフォルトのオペランド イメージを PostgreSQL 15.0 に設定します。
修正:
PostgreSQL サーバーの CSV ログ パイプを開始する
WithActiveInstance関数内の初期化順序を修正し、クラスターの初期化フェーズで適切なログを確保します - これは、バックアップからの回復などのブートストラップ操作で特に役立ちます (このパッチの前に、そのようなログ標準出力チャネルに送信されず、永久に失われました)ホット スタンバイの機密パラメータが減少し、プライマリがすでに再起動されている場合に、不要なスイッチオーバーを回避する
ALTER ROLEステートメントでロール名を適切に引用するバックアップとリカバリ: - PITR の最も近いBarmanバックアップを検出するアルゴリズムを修正します。これは、要求されたリカバリ タイムスタンプをバックアップの終了ではなく開始と比較していました。 - トランザクション ID、名前付きの復元ポイント、または
recoveryTargetセクションにbackupIDと呼ばれる新しいフィールドを提供することによる「即時」ターゲット -barman-cloud-wal-archiveおよびbarman-cloud-backupコマンドを呼び出す暗号化パラメーターを修正 - 現在のクラスター名と一致しないサーバー名を使用してバックアップ オブジェクト ストアから復元するときにbarmanObjectStore.serverNameオプションを無視しないようにするcnpgプラグイン: - ユーザーが指定した場合、プラグインが-nパラメーターに準拠していることを確認します -statusコマンドを修正して、結果をソートし、出力のばらつきを取り除きます
バージョン 1.15.1¶
リリース日: 2022 年 5 月 27 日 (パッチ リリース)
マイナーな変更:
以前は固定パラメーターであった PostgreSQL の
archive_timeout設定の構成を有効にします (デフォルトでは 5 分に設定されています)。scheduledBackupリソースにbackupOwnerReferenceという新しいフィールドを導入して、作成されたバックアップ リソースの所有権参照を設定します。可能な値は、none(デフォルト)、self(スケジュールされたバックアップ オブジェクトによって所有されるオブジェクト)、およびcluster(Postgres クラスターによって所有される) です。物体)ネイティブ Prometheus エクスポーターで PostgreSQL 14 以降の
pg_stat_walメトリックの自動収集を導入デフォルトのオペランド イメージを PostgreSQL 15.0 に設定します。
修正:
postgresに関連する孤立したプロセスを強制終了してフェンシングを修正WithActiveInstance関数内の CSV ログ パイプを有効にして、リカバリ ブートストラップ ジョブからログを収集し、トラブルシューティング フェーズに役立てます。空でないバックアップ オブジェクト ストアを使用して新しいクラスターをブートストラップすることを防止し、既存のバックアップを上書きするリスクを排除します。
recoveryブートストラップ メソッドでは、既存のバックアップを上書きしないように、復旧オブジェクト ストアとバックアップ オブジェクト ストアが異なることを確認してください。バックアップ用の RBAC がまだ作成されていない場合は、調整ループを再度キューに入れます。
バックアップの問題と、クラスター名プロパティの間違った指定を修正
複数のレプリカを使用して高可用性でオペレーターをデプロイする場合、オペレーター ポッドが常に最新の証明書を保持するようにします。
cnpg report operatorコマンドを修正して、複数のレプリカを使用して高可用性でオペレーターをデプロイする場合を正しく処理するようにします。再起動を必要とせずに、クラスターの
inheritedMetadataセットのラベルと注釈の変更をクラスターの関連リソースに適切に伝達するcnpgプラグインを修正して、デフォルト値だけに依存するのではなく、オペレーターのデプロイで定義されたカスタム configmap とシークレット名を正しく解析します。mkdocsのminidocks/mkdocsイメージを使用して、ドキュメントのローカル ビルドを修正します。
バージョン 1.15.0¶
リリース日: 2022 年 4 月 21 日
特徴:
フェンシング:
cnpg.io/fencedInstancesアノテーションを介してクラスターまたは特定の PostgreSQL インスタンスのセットにフェンシング機能を導入します。これは、空でない場合、クラスター内のスイッチオーバー/フェイルオーバーを無効にします。フェンシングされたインスタンスはシャットダウンされ、Pod は検査と緊急事態のために (準備ができていないと見なされている間) 実行され続けますLDAP認証:
pg_hba.confの LDAP Simple Bind および Search+Bind 構成オプションを Postgres クラスター仕様で宣言的に定義できるようにし、ldapbindpasswdなどの機密オプションに Kubernetes シークレットをオプションで使用できるようにします。監視されていない
primaryUpdateStrategyの場合に使用されるswitchover(デフォルト) およびrestartの値を受け入れるprimaryUpdateMethodオプションの導入。このメソッドは、ローリング更新手順中にプライマリ インスタンスに何が起こるかを制御しますkubectl cnpプラグインの新しいreportコマンドにより、オペレーターと特定の Postgres クラスターの両方のより良い診断とより効果的なトラブルシューティングが可能バックアップ オブジェクト ストアに存在しなくなった
Backupオブジェクトを削除するポイントインタイム リカバリ ブートストラップ方式でのターゲット タイムラインと
LSNの指定sessionTokenオプションによる AWS S3 でのAWS_SESSION_TOKEN認証トークンのサポートquay.io/enterprisedb/pgbouncer:1.17.0に設定されたPoolerポッドの PgBouncer のデフォルトのイメージ名
修正:
targetTimeを介したポイントインタイム リカバリのベース バックアップ検出が正しく機能するようになりました。以前は、利用可能な最新のバックアップより前のターゲットは不可能でした (検出アルゴリズムは、開始点として最後のバックアップを選択することで常に間違っていました)。オペレーターが
pg_controldataから収集した値に依存することで、ホット スタンバイの影響を受けやすいパラメーターの回復力を向上無効な証明書エラーをスローする代わりに、無効なエントリを適切に破棄することにより、中間証明書の処理が改善されました
データベース内の Prometheus エクスポーター メトリック コレクション クエリは、ロールバックではなくコミットされるようになりました (該当する場合、ダウンストリーム ダッシュボードから表示されるロールバックされたトランザクションの数が変更される可能性があります)。
バージョン 1.15.0 は、CloudNativePG の最初のリリースです。以前は、このソフトウェアは EDB Cloud Native PostgreSQL (現在はEDB Postgres for Kubernetes) と呼ばれていました。以前のリリースに関する情報をお探しの場合は、 EDB documentation を参照してください。