CloudNativePG 1.17 のリリース ノート

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

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

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

バージョン 1.17.5

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

警告

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

機能強化:

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

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

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

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

  • psql コマンドを kubectl の cnpg プラグインに追加 (#1668) して、ユーザーがポッド (デフォルトではプライマリ) で psql セッションを開始できるようにします。

技術的な強化:

  • 依存関係の追跡/更新に Renovate を採用 (#1367, #1473)

修正:

  • プローブのエラー処理でパニックを防止 (#1716)

  • cnpg プラグインの status コマンドで WAL アーカイブ情報を適切に表示 (#1666)

バージョン 1.17.4

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

特徴:

  • Kubernetes の投影ボリュームのサポート (#1269)

  • PostgreSQL サーバー プロセスをより細かく制御するためのカスタム環境変数をサポート (#1275)

機能強化:

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

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

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

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

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

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

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

  • DigitalOcean S3 互換 Spaces の例を追加 (#1289)

技術的な強化:

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

修正:

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

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

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

  • 不要な場合は PodMonitor を探すのを避ける (#1213)

バージョン 1.17.3

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

重要なお知らせ:

  • Armando Ruocco (@armru) を新しい CloudNativePG メンテナーとして表彰 (#1167)

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

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

機能強化:

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

  • 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)

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

  • 復元時に設定済みの pg-wal を尊重 (#1216)

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

技術的な強化:

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

  • バックポート プル リクエスト ワークフローを追加 (#965) - リリース ブランチに注釈が付けられている場合、パッチを自動的にバックポートします。

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

  • ラベルに基づくテスト実行を有効化 (#951)

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

バージョン 1.17.2

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

安全:

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

機能強化:

  • cnpg プラグインの status コマンド: - フェンスされたクラスターの表示を明確化 (#886) - レプリカ クラスターの表示を改善 (#871)

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

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

修正:

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

  • ポイントインタイム リカバリを実行する際に、最も近いバックアップを適切に見つける (#949)

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

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

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

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

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

バージョン 1.17.1

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

機能強化:

  • コントローラー マネージャーに leaseDuration および renewDeadline パラメーターを導入して、オペレーターの展開におけるリーダー選出の構成を強化 (#759)

  • 初めて WAL ファイルをアーカイブする前に、バックアップ オブジェクト ストアが空であることをチェックするメカニズムを改善します。クラスタがブートストラップされた直後に .check-empty-wal-archive という新しいファイルが PGDATA に配置され、最初の WAL ファイルが実行された後に削除されます。正常にアーカイブされました

安全:

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

修正:

  • スタンバイがプライマリに昇格した後、アクティブな接続をドロップします (#737)

  • ネイティブの Prometheus エクスポーターで MAPPEDMETRIC および DURATION メトリック タイプの変換を尊重する (#765)

  • PostgreSQL 形式を使用してマイクロ秒の精度で指定されたタイムスタンプが正しく解析されるように (#741)

バージョン 1.17.0

リリース日: 2022 年 9 月 6 日 (マイナー リリース)

特徴:

  • WALファイル用の別のボリューム: Write Ahead Log (WAL) とデータベース データ ファイルを別のディスクに分離するためのサポート。データ ディレクトリの I/O 負荷を軽減することで、書き込みの多いシステムでのパフォーマンスが向上する可能性があります。このオプションは、メインおよび必須の storage セクションで定義された PGDATA とは別に、専用ボリューム内の WAL ファイル (pg_wal ) を分離するためのオプションの walStorage セクションの導入によって制御されます (#513)。現在の制限: walStorage はクラスターの作成時にのみ設定でき、クラスターが稼働しているときに追加または削除することはできません。

機能強化:

  • PgBouncer 接続プーラーの実装で低レベルのネットワーク TCP 設定の構成を有効にします (#584)

  • cnpg.io/instanceName および cnpg.io/podRole ラベルがポッドおよび PVC に常に存在することを確認します (#632 および #680)

  • インスタンスの role ラベルを基礎となる PVC に伝播 (#634)

  • kubectl cnpg destroy コマンドを導入して、インスタンスと関連するすべての PVC を削除できるようにします (#643)

修正:

  • 新しいクラスタのプライマリをブートストラップするときに shared_preload_libraries を使用 (#642)

  • オペレーターの複数のインプレース アップグレード プロセスが同時に実行されないようにするには、別のプロセスが進行中かどうかをアトミックにチェックします (#655)。

  • 新しくアップロードされたインスタンス マネージャーを格納するためにハードコードされたファイル名を使用しないようにし、オペレーターのオンライン アップグレード中に競合状態が発生するのを防ぎます (#660)

  • GetAllAccessibleDatabases の呼び出し時にパニックが発生しないように (#641)