Release notes for CloudNativePG 1.29

CloudNativePG 1.29のリリースノート

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

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

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

バージョン1.29.0

発売日 2026年3月31日

重要な変更

  • ネイティブツリー内Barman Cloudサポートの非推奨通知を更新して、1.29.0ではなくCloudNativePG 1.30.0で削除されることを反映しています。ユーザーは引き続きBarman Cloudプラグインに移行することをお勧めします。 ( #10167 )

機能

  • イメージカタログのPostgreSQL拡張機能 PostgreSQL拡張機能をサポートするようにImageCatalog 機能を拡張しました。これにより、ユーザーはカタログ内の拡張機能固有のイメージを定義および管理でき、カスタマイズされたPostgreSQLビルドの展開が簡素化されます。 #9781

  • ポッドセレクターを介した動的なネットワークアクセス制御 pg_hba.conf ルールを動的に管理するためにpodSelectorRefs の宣言的定義を導入しました。ラベルセレクターを使用してクライアントポッドを識別することにより、オペレーターは自動的にエフェメラルIPアドレスを解決し、それに応じてPostgreSQLホストベースの認証ルールを更新します。これにより、同じ名前空間内の許可されたワークロードのみがデータベースに接続できるようになり、手動のIP管理または静的CIDRレンジが必要なくなります。 #10148

  • 共有``ServiceAccount`` サポート オプションのserviceAccountName フィールドをCluster およびPooler 仕様の両方に追加しました。これにより、複数のリソースが既存のサービスアカウントを共有でき、すべてのクラスターとプーラーにわたってワンタイムIAM構成AWS IRSA、GCP Workload Identity、またはAzure Workload Identityなどを容易にします。 @bozkayasalihxによる寄稿。 #9287

機能強化

  • TLS暗号スイートと最小/最大TLSバージョンの詳細な構成のサポートによりPooler CRDを改善しました。これにより、管理者は、プーラーからクライアント、およびプーラーからサーバーへの接続に関する厳密なセキュリティコンプライアンス要件を満たすことができます。 @alex1989huによる投稿。 ( #9571 )

  • アップグレードジョブでBackoffLimit=0 を設定することにより、メジャーアップグレードの信頼性が向上し、失敗したpg_upgrade の不必要な再試行を防止します。ユーザーがコンテナイメージを元に戻すときに、オペレーターは失敗したジョブを自動的に削除するため、クラスターが元のバージョンで正常に再起動できます。 ( #10104 、 #10298 )

  • 調整ループの主要なフェーズ中にネイティブKubernetesイベントを発行することにより、オペレーターの可観測性を向上させ、オペレーターの意思決定プロセスと管理リソースのライフサイクルをkubectl get events を介して直接可視化します。 #10040

  • バックアップリソースのcnpg.io/reconciliationDisabled アノテーションのサポートの拡張。これにより、管理者は、特定のバックアップオブジェクトのオペレーターの調整ロジックを一時的にフリーズできます。 @GabriFedi97による寄稿。 #10020

  • bin_path フィールドをpostgresql.extensions スタンザ、およびImageCatalog およびClusterImageCatalog リソースに追加しました。これにより、拡張機能はPostgresプロセスのPATH 環境変数に自動的に追加される外部バイナリのディレクトリパスを指定できます。 #10250

  • env フィールドをpostgresql.extensions スタンザ、およびImageCatalog およびClusterImageCatalog リソースに追加しました。これにより、クラスター管理者はPostgresプロセスのカスタム環境変数を定義できます。このフィールドは、拡張機能の絶対マウントパスに動的に解決する${image_root} プレースホルダーをサポートしています。 #10375

  • プラグインのファイナライザーを実装して、対応するサービスが削除されたときにプラグインによって管理されているリソースが正常にクリーンアップされるようにします。 #9560

  • 各調整サイクルの前にインスタンスがプライマリであることを確認することによりロール管理を向上させ、読み取り専用レプリカでの不要な調整試行と偽のエラーメッセージを回避します。 ( #9971 )

  • オペレーターは、クラスターに新しいPVCを追加するときにprimaryUpdateMethod を優先するようになりました、ストレージの拡張または追加中にロールアウト戦略たとえば、スイッチオーバー対リスタートが尊重されるようにします。 ( #9720 )

  • alpha.cnpg.io/unrecoverable アノテーションロジックを洗練して、Ready 状態にまだ到達していないポッドでも機能できるようにし、スタックしたインスタンスのリカバリーを容易にします。 ( #9968 )

  • 回復不能な問題無効な資格情報または存在しないクラウドバケットなどが発生したバックアップ用の「ターミナルエラー」フェーズを導入しました。これにより、オペレーターは運命の操作の再試行を停止し、リソースの枯渇を防止し、ステータスですぐに明確なフィードバックを提供します。 #9353

  • Backup ステータスにreconciliationStartedAt およびreconciliationTerminatedAt フィールドを導入することにより、長時間実行バックアップのモニタリングが向上しました。この変更により、オペレーターの内部ライフサイクルが実際のバックアップツールの実行タイミングstartedAt / stoppedAt から分離され、ユーザーはオペレーターが要求の処理を開始したときを追跡できます。 #9351

  • Pending フェーズをBackup ステータスに追加して、バックアップがキューに入れられ、利用可能なワーカーまたはインスタンスの可用性を待機しているときを明示的に示します。 #9364

セキュリティとサプライチェーン

  • セキュリティベストプラクティスの統合 OpenSSFベースラインスキャナーを統合し、SECURITY-INSIGHTS.yaml ファイルをリポジトリに追加して、業界標準のセキュリティレポートと調整します。 ( #10054 , #10062 )

  • SLSA来歴とSBOM リリースバイナリとコンテナイメージにSLSAサプライチェーンレベルソフトウェアアーティファクトの来歴を追加しました。さらに、GoReleaserパイプライン内のソフトウェア部品表SBOM生成を有効にして、依存関係の透明性を向上させました。 ( #10048 , #10074 )

  • パスワード漏洩防止 PostgreSQLが特定の調整フェーズ中にログにロールパスワードを漏洩する可能性がある潜在的なセキュリティリスクを修正しました。 ( #9950 )

変更

  • デフォルトのPostgreSQLバージョンを18.3イメージ 18.3-system-trixie に更新しました。 ( #10090 )

修正

  • 同期レプリケーションを使用するクラスターに影響を与えるオペレーターのアップグレード中のデッドロックを修正しました。新旧のオペレーターバージョンを実行するポッドが異なるPostgreSQL構成ハッシュを計算し、均一性チェックが無期限にブロックされ、ローリング更新とインプレースアップグレードの両方の進行を防ぎます。 ( #10342 )

  • ディスク領域チェックがインスタンスマネージャーの起動をブロックしたため、WALディスクがいっぱいになったときにフェンシングアノテーションを処理できない問題を修正しました。チェックは、ライフサイクルループの後半で、フェンシングが評価された後、実行されるようになりました。 ( #10302 )

  • 初期ブートストラップに使用されるVolumeSnapshot が削除されている場合、レプリカがPending 状態でスタックしてしまう問題を修正しました。オペレーターは、使用前にスナップショットの存在を検証するようになりました。スナップショットが見つからない場合は、次の利用可能な候補を使用しようとするか、 pg_basebackup にフォールバックします。 ( #10192 )

  • 「監視対象プライマリ」ロールアウト戦略が、以前にスケジュールされた更新の遅延を引き起こしていた、使用可能なすべてのロールアウトスロットを消費しないようにしました。 @ermakov-olegによる寄稿。 ( #9977 )

  • 特定のホットスタンバイパラメーターの変更がレプリカクラスターに正しく適用されなかった問題を修正しました。 ( #9952 )

  • 「Continue」結果が返されたときに後続のプラグインをスキップする可能性があるCNPG-Iリコンサイラーフックのバグを修正しました。 @sharifmshakerによる寄稿。 ( #9978 )

  • 現在ポッドに接続されていないPVCのファイルシステムのサイズを変更しようとしたときに発生したデッドロックシナリオを修正しました。 @jmealoによる寄稿。 ( #9981 )

  • ConnectionParameters で構成された外部クラスターを受け入れるようにブートストラップリカバリソースのWebhook検証を修正しました pg_basebackup ベースのリカバリーの場合。以前は、 BarmanオブジェクトストアまたはCNPG-iプラグインも構成されていない限り、これらは誤って拒否されました。 ( #10268 )

  • 拡張機能とテーブルスペースのボリューム名に接頭辞が付けられ、標準のクラスターボリュームとの名前の衝突を回避します。 ( #9973 )

  • 正常でないクラスターを冬眠させる場合、オペレーターはWaitingForHealthy 条件を報告するようになり、cnpg status を介して遅延されたハイバーネーション状態を可視化します。 ( #10193 )

  • ターゲットポッドが存在しない場合でも、フェンシングが正しく動作するように修正しました。フェンシングはクラスターレベルのアノテーションで動作し、ポッドの存在に依存しないでください。インスタンス名の検証は、 cnpg fencing on コマンドでのみ実行されます。 ( #10035 )

  • クラスターおよびプーラーサービスリコンサイラーを修正して、パッチ更新戦略を使用するときにすべての仕様フィールドの変更を正しく処理します。リコンサイラーはRFC 7386 JSONマージパッチを使用するようになり、クラウドプロバイダー設定フィールド loadBalancerClass など 誤って削除されるのを防ぎます。 ( #10190 、 #10311 )

  • パラレルWALリストアに影響を与える非推奨のツリー内Barman Cloudバックアップ実装の競合状態を修正しました。ここで、プリフェッチされたファイルはダウンロード中に読み取られる可能性があり、「invalid Checkpoint Record」エラーでPostgreSQLのリカバリーが失敗します。 ( #10285 )

  • タイムライン履歴ファイルの検証を修正して、プラグインベースのWALリストアにも適用されます。以前は、 #9650 で導入された保護はツリー内リストアのみをカバーしており、プラグインがチェックをバイパスして将来のタイムライン履歴ファイルをダウンロードできるため、レプリカでタイムライン不一致エラーが発生していました。 ( #9849 )

  • cnpg プラグイン

  • cnpgプラグインは、ImagePullSecretをpgbench ジョブポッドテンプレートに正しく伝播するようになりました。 ( #10174 )

サポートされているバージョン