CloudNativePG 1.18 のリリース ノート

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

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

GitHub のリリース ブランチにあります。

バージョン 1.18.3

リリース日: 2023 年 3 月 20 日

機能強化:

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

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

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

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

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

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

  • ユーザーが既存の Postgres クラスターの専用ボリュームに WAL ファイルを移動できるようにすることで、個別の 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 互換 Spaces の例を追加 (#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 の終了エンドポイントのサポートを追加して、Istio サイドカーを使用するジョブが無期限に実行されないようにします (#967)

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

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

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

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

  • ドキュメンテーション - CNPG サンドボックスへの参照を削除 (#1120) - CNPG サンドボックスは廃止され、クイックスタート ドキュメントの監視に関する指示が優先されました - 「リリース更新」ディスカッションへのリンク (#1148) - リリース更新に関するディスカッションは次のようになります。リリースのアナウンスとディスカッションのデフォルト チャネル - GOVERNANCE.md にメンテナの名誉ステータスを文書化 (#1033) - メンテナが貢献を続ける準備ができていない場合にどのように進めるべきかを説明 - プル リクエストの作成手順を改善 (#1132) - 緊急時のトラブルシューティングバックアップ手順 (#1184)

  • アーキテクチャ ドキュメントで 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)

安全:

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

機能強化:

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

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

  • ドキュメンテーション: - 監視ページを改善し、Prometheus と Grafana を使用してローカル システムで CloudNativePG のオブザーバビリティ機能を評価する方法を説明します (#968) - カスタム コントローラーの設計上の理由に関するページを追加します (#918) - 最後まで更新します- to-End テスト スイート ページ (#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)