Release notes for CloudNativePG 1.18

CloudNativePGの1.18マイナーリリースのユーザーに表示される変更の履歴。

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

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

バージョン1.18.5

発売日 2023年6月12日

警告

これは、1.18.Xシリーズの最後のリリースになる予定です。 ユーザーは、すぐに新しいマイナーバージョンに更新することをお勧めします。

機能強化

  • 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のPoolerPodMonitor サポートを追加します#2034

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

  • Pooler リソースのデプロイメント戦略の構成を許可します #1983

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

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

技術的な強化

  • 更新されたk8s種類のテスト済みバージョン#2054

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

  • クラスターの復元中にフェンシングが削除されることを確認します #1987

  • ポッド削除時のロギングを改善します #2136

修正

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

  • メトリックで正しいPGバージョンをレポートする #2126

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

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

バージョン1.18.4

発売日 2023年4月27日

注釈

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

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

機能強化

  • kubectlcnpg プラグインの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

  • 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アーカイブ情報を適切に表示する #1666

  • AdditionalPodAffinity およびAdditionalPodAntiAffinity が設定されていない場合でも、nodeAffinity が適用されるように保証 #1663

バージョン1.18.2

発売日 2023年2月14日

機能強化

  • Kubernetesの予測ボリュームのサポートを紹介します #1269

  • PostgreSQLサーバープロセスをより詳細に制御するためのサポートカスタム環境変数を導入します#1275

  • kubectlcnpg プラグインにbackup コマンドを導入して、クラスターの新しいベースバックアップを発行します #1348

  • ユーザーがWALファイルを既存のPostgresクラスター上の専用ボリュームに移動できるようにすることにより、個別のWALボリューム機能のサポートを向上させます #1066

  • min_wal_sizemax_wal_sizekeep_wal_sizewal_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 リコンサイルを回避する #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

  • fio コマンドをkubectl-cnpgプラグインに追加します #1097

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

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

  • Documentation

  • CNPGサンドボックスへの参照を削除します#1120-クイックスタートドキュメントでのモニタリングに関する指示を優先して、CNPGサンドボックスは非推奨になりました

  • “Release upgrade”ディスカッションへのリンク#1148-リリース更新ディスカッションがデフォルトになりますリリースの発表とディスカッションのためのチャンネル

  • GOVERNANCE.mdのメンテナーの名誉ステータスを文書#1033 - メンテナーがコントリビューションを続行する準備ができていない場合に続行する方法を説明します

  • プルリクエストの作成手順の改善#1132

  • 緊急バックアップのトラブルシューティング指示# 1184)

  • アーキテクチャドキュメント#1432でKubernetesレイヤーを詳細にカバーしています

修正

  • ブートストラップの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 をポッドとコンテナに追加します #888

機能強化

  • pvcTemplate でサイズ要求がある場合、クラスター仕様でストレージサイズを省略できるようにしました #914

  • cnpg プラグインのstatus コマンド

  • レプリケーションスロット情報を追加します #873

  • フェンスされたクラスターの表示を明確にします #886

  • レプリカクラスターの表示を改善します #871

  • ドキュメント

  • モニタリングページを改善し、プロメテウスとグラファナを使用してローカルシステムでCloudNativePGの可観測性機能を評価する方法に関する手順を提供します #968

  • カスタムコントローラのデザイン理由に関するページを追加します #918

  • 最後までの更新- toエンドテストスイートページ #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