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ファイルを初めてアーカイブする前に、バックアップオブジェクトストアが空であることをチェックするメカニズムを改善します。正常にアーカイブされました

セキュリティ:

  • nonroot:nonroot ユーザーを使用して、distroless/static:nonroot コンテナイメージにコピーされるインスタンスマネージャーバイナリの権限を明示的に設定する (#754)

修正:

  • クラスターの条件をmetav1.Conditions structと互換性を持たせる (#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)

  • Slowloris DDoSを防ぐために、内部Webサーバーに読み取りタイムアウト値を追加 (#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バックアップを検出するアルゴリズムを修正します。これは、要求されたリカバリタイムスタンプを終了ではなくバックアップの開始と比較していました。 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 プラグインを修正して、デフォルト値だけに依存するのではなく、オペレーターデプロイメントで定義されたカスタム構成マップとシークレット名を正しく解析します

  • mkdocs のminidocks/mkdocs イメージを使用して、ドキュメントのローカルビルドを修正

バージョン1.15.0

リリース日: 2022年4月21日

特徴:

  • フェンシング: cnpg.io/fencedInstances アノテーションを介したクラスターまたは特定のPostgreSQLインスタンスのセットのフェンシング機能の導入。空でない場合、クラスター内のスイッチオーバー/フェイルオーバーを無効にします。フェンスで囲まれたインスタンスはシャットダウンされ、ポッドは検査と緊急時に実行され続けます(準備ができていないと見なされます)

  • LDAP認証: pg_hba.conf のLDAP Simple BindおよびSearch+Bind構成オプションをPostgresクラスター仕様で宣言的に定義できるようにし、 ldapbindpasswd などの機密オプションのKubernetesシークレットのオプションの使用を有効にします

  • primaryUpdateMethod オプションの導入、switchover (デフォルト)およびrestart の値を受け入れ、教師なしprimaryUpdateStrategy の場合に使用されます。このメソッドは、ローリング更新手順中にプライマリインスタンスに何が起こるかを制御します

  • オペレーターと特定のPostgresクラスターの両方のより良い診断とより効果的なトラブルシューティングのためのkubectl cnp プラグインの新しいreport コマンド

  • バックアップオブジェクトストアになくなったBackup オブジェクトを整理します

  • Point-In-Time Recoveryブートストラップ方法でのターゲットタイムラインと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 を参照してください。