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バージョンの詳細な構成のサポートにより
PoolerCRDを改善しました。これにより、管理者は、プーラーからクライアント、およびプーラーからサーバーへの接続に関する厳密なセキュリティコンプライアンス要件を満たすことができます。 @alex1989huによる投稿。 ( #9571 )アップグレードジョブで
BackoffLimit=0を設定することにより、メジャーアップグレードの信頼性が向上し、失敗したpg_upgradeの不必要な再試行を防止します。ユーザーがコンテナイメージを元に戻すときに、オペレーターは失敗したジョブを自動的に削除するため、クラスターが元のバージョンで正常に再起動できます。 ( #10104 、 #10298 )調整ループの主要なフェーズ中にネイティブKubernetesイベントを発行することにより、オペレーターの可観測性を向上させ、オペレーターの意思決定プロセスと管理リソースのライフサイクルを
kubectl get eventsを介して直接可視化します。 #10040バックアップリソースの
cnpg.io/reconciliationDisabledアノテーションのサポートの拡張。これにより、管理者は、特定のバックアップオブジェクトのオペレーターの調整ロジックを一時的にフリーズできます。 @GabriFedi97による寄稿。 #10020bin_pathフィールドをpostgresql.extensionsスタンザ、およびImageCatalogおよびClusterImageCatalogリソースに追加しました。これにより、拡張機能はPostgresプロセスのPATH環境変数に自動的に追加される外部バイナリのディレクトリパスを指定できます。 #10250envフィールドを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から分離され、ユーザーはオペレーターが要求の処理を開始したときを追跡できます。 #9351Pendingフェーズを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 )
サポートされているバージョン
Kubernetes 1.35、1.34、および1.33
PostgreSQL 18、17、16、15、および14 - PostgreSQL 18.3がデフォルトイメージです。 PostgreSQL 14 support ends on November 12, 2026