CloudNativePG 1.18のリリースノート

CloudNativePGの1.18マイナーリリースにおけるユーザーに見える変更の履歴。

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

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

バージョン1.18.5

発売日: 2023年6月12日

警告

バージョン1.18はサポート終了(EOL)になりました。バージョン1.18.5は、1.18マイナーバージョンでリリースされる最後です。

機能強化:

  • 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のPooler にPodMonitor サポートを追加 (#2034)

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

  • Pooler リソースの展開戦略の設定を許可 (#1983)

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

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

技術的な機能強化:

  • k8sの種類テスト済みバージョンを更新 (#2054)

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

  • クラスターの復元中にフェンシングが削除されるように (#1987)

  • Pod削除時のロギングを改善 (#2136)

修正:

  • K3でのセットアップを妨げる可能性のあるk3sエンジンでのバインドされていない変数を修正 (#2157)

  • メトリックで正しいPGバージョンを報告 (#2126)

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

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

バージョン1.18.4

発売日: 2023年4月27日

警告

バージョン1.18は2023年5月27日にサポート終了(EOL)を迎えます。まだアップグレードしていない場合は、できるだけ早くアップグレードの計画を開始してください。

重要

PostgreSQL 10は2022年11月にサポート終了(EOL)に達したため、CloudNativePGはPostgreSQL 10のサポートを終了します。バージョン11以降がサポートされています。 PostgreSQL 15への移行をできるだけ早く計画してください。 Postgresデータベースのインポート 参照

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

機能強化:

  • kubectl のcnpg プラグインのreport コマンドの--logs オプションを改善し、利用可能な場合は以前のログも含める (#1811)

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

セキュリティ:

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

修正:

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

バージョン1.18.3

発売日: 2023年3月20日

機能強化:

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

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

  • 2つの新しいメトリックとステータスの追加情報により、バックアップの可観測性を強化 (#1428)

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

  • Helm経由のデプロイメント名を明確化 (#1505)

  • kubectl のcnpg プラグインにpsql コマンドを追加(#1668)、ユーザーがpod(デフォルトでプライマリ)と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)

バージョン1.18.2

リリース日: 2023年2月14日

機能強化:

  • 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の可観測性を強化します (#1382)

  • streaming_replica ユーザーにデータベースコメントを追加 (#1349)

  • GKE上のWebhookに関するファイアウォールの問題を文書化 (#1364)

  • recovery のpostgresql.confに関するメモを追加 (#1211)

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

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

  • CloudNativePGのPVCグループの意味を明確化 (#1344)

  • DigitalOcean S3互換スペースの例を追加 (#1289)

技術的な機能強化:

  • リリースブランチに毎日のエンドツーエンドのスモークテストを追加 (#1235)

修正:

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

  • waitForWalArchiveWorking が接続エラーに強いように (#1399)

  • PVCロールが常に一貫していることを確認してください (#1380)

  • pvcTemplate 使用時にwalStorage のリサイズを許可 (#1315)

  • ExecCommand がタイムアウトに従うように (#1242)

  • Prometheusがインストールされていない場合、PodMonitor reconcileを回避 (#1238)

  • 必要ないときにPodMonitor を探さないように (#1213)

バージョン1.18.1

発売日: 2022年12月21日

重要なお知らせ:

  • CNPGクラスターを識別するラベルとしてのpostgresql の非推奨が差し迫っていることに関するアラート。このラベルを使用したリモートの場合、代わりにcnpg.io/cluster ラベルの使用を開始してください (#1130)

  • Armando Ruocco(@armru)を一貫してインパクトのある貢献により、新しいCloudNativePGメンテナーとして表彰(#1167)

  • ARMv7サポートを削除 (#1092)

  • 1.16の最終パッチリリース:1.16.5。リリース1.16はサポート終了に達します。

機能強化:

  • サービスアカウントのラベルとアノテーションをカスタマイズする:たとえば、IRSAを介したGKEまたはEKSでのID管理を介した認証を容易にするために使用できるサービスアカウントテンプレートを追加します (#1105)

  • nodeAffinity サポートを追加 (#1182) - より豊富なスケジューリングオプションを可能にします

  • Istioとの互換性を改善:Istioのquitエンドポイントのサポートを追加して、Istioサイドカーを使用したジョブが無期限に実行されないように (#967)

  • JSONログでフィールドのリマッピングを許可する: level およびts フィールドが既存のロギングと干渉する可能性のあるユースケースに役立ちます (#843)

  • kubectl-cnpgプラグインにfio コマンドを追加 (#1097)

  • kubectl-cnpgプラグインのrpm/debパッケージを追加 (#1008)

  • 新しいクラスター定義のデフォルトのPostgreSQLバージョンを15.1に更新 (#908)

  • ドキュメント - CNPGサンドボックスへの参照を削除 (#1120) - CNPGサンドボックスは非推奨になりました。クイックスタートドキュメントでのモニタリングに関する指示を優先します - “Release updates”ディスカッションへのリンク (#1148)リリースのお知らせと議論のためのデフォルトチャネル - メンテナーの名誉ステータスをGOVERNANCE.mdに文書化する (#1033) - メンテナーがコントリビュートを継続する準備ができていない場合にどのように進むべきかを説明 - プルリクエストの作成手順を改善 (#1132) - 緊急時のトラブルシューティング・バックアップ指示 (#1184)

  • ArchitectureドキュメントでKubernetesレイヤーをより詳細にカバーする (#1432)

修正:

  • ブートストラップのPGDATAパーミッションが750に適切に設定されていることを確認 (#1164)

  • クラスターをスケールダウンするときに、WALを含むPVCが削除されるように (#1135)

  • --dry-run 使用時にpgbenchマニフェストで欠落していたApiVersionとKindを修正しました (#1088)

  • 見つからない場合にのみシークレットとサービスを作成するように (#1145)

  • 復元時に設定されたpg-walを尊重する (#1216)

  • nodeToClustersマップからレプリカを除外 (#1194)

技術的な機能強化:

  • テストの概要にciclops を使用します(#1064):ciclops GitHubアクションに依存して、そのプロジェクトから改善を継承し、E2Eスイートの概要を提供します

  • バックポートプルリクエストワークフローを追加 (#965) - パッチがそのように注釈されている場合、リリースブランチに自動的にパッチをバックポート

  • e2eテストスイートでオペレーターログレベルを設定可能に (#1094)

  • ラベルに基づいたテスト実行を有効にする (#951)

  • Goバージョンを1.18から1.19に更新 (#1166)

バージョン1.18.0

リリース日: 2022年11月10日

特徴:

  • 高可用性のためのクラスター管理の物理レプリケーションスロット :プライマリとスタンバイの両方で、高可用性クラスター内の各ホットスタンバイレプリカの物理レプリケーションスロットを自動的に管理します (#740)

  • Postgresクラスターハイバーネーション :新しいサブコマンドkubectl cnpg hibernate on/off/status <cluster-name> を使用して、プラグインを介してクラスターハイバーネーションを導入します。ハイバネーションは、PostgreSQLプライマリインスタンスに属するPVCを除き、クラスターによって生成されたすべてのリソースを破壊します (#782)

セキュリティ:

  • SeccomProfile をPodとContainersに追加 (#888)

機能強化:

  • pvcTemplate でサイズ要求がある場合、クラスタースペックでストレージサイズを省略できるように (#914)

  • cnpg プラグインのstatus コマンド: - レプリケーションスロット情報を追加 (#873) - fencedクラスターの表示を明確化 (#886) - レプリカクラスターの表示を改善 (#871)

  • ドキュメント: - モニタリングページを改善し、PrometheusとGrafanaを使用してローカルシステムでCloudNativePGの可観測性機能を評価する方法に関する指示を提供します (#968) - カスタムコントローラーの設計上の理由に関するページを追加します (#918)・to-End Test Suiteページ (#945)

  • cnpg プラグインの新しいサブコマンド: - pgbench は、クラスターに対してpgbench を実行するジョブ定義を生成します(#958) - install は、オペレーターのインストールマニフェストを生成します(#944)

  • PostgreSQL 15.0を新しいデフォルトバージョンとして設定 (#821)

修正:

  • plpgsql 関数でデータベースをインポートする (#974)

  • ポイントインタイムリカバリを行うときに最も近いバックアップを適切に見つけます (#949)

  • ScheduledBackup フォーマットがKubernetes CronJob フォーマットに従わないことを明確化 (#883)

  • フェイルオーバーロジックを、古い可能性のあるKubernetesポッドの準備ではなく、インスタンスマネージャーからのPostgres情報に基づいてください (#890)

  • 新しく作成されたクラスターごとにアーカイブするWALがあることを確認します。・不足により、バックアップが機能しない可能性がある (#897)

  • ドキュメントのbarmanObjectStore のYAMLキー名を修正 (#877)

  • krew リリースを修正 (#866)