CloudNativePG 1.18のリリースノート¶
CloudNativePGの1.18マイナーリリースにおけるユーザーに見える変更の履歴。
変更の完全なリストについては、 commits を参照してください
GitHubのリリースブランチで。
バージョン1.18.5¶
発売日: 2023年6月12日
警告
バージョン1.18はサポート終了(EOL)になりました。バージョン1.18.5は、1.18マイナーバージョンでリリースされる最後です。
機能強化:
snapshotコマンドをcnpgプラグインに追加し、KubernetesVolumeSnapshot標準リソースを使用してスタンバイからクラスターの一貫したコールドバックアップを作成します (#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がインストールされていない場合、
PodMonitorreconcileを回避 (#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フォーマットがKubernetesCronJobフォーマットに従わないことを明確化 (#883)フェイルオーバーロジックを、古い可能性のあるKubernetesポッドの準備ではなく、インスタンスマネージャーからのPostgres情報に基づいてください (#890)
新しく作成されたクラスターごとにアーカイブするWALがあることを確認します。・不足により、バックアップが機能しない可能性がある (#897)
ドキュメントの
barmanObjectStoreのYAMLキー名を修正 (#877)krewリリースを修正 (#866)