EDB Cloud-Native PostgreSQL =========================== .. raw:: html CloudNativePGの最初のパブリックリリースはバージョン1.15.0です。それまでは、製品はEDBが完全に所有しており、 `Cloud Native PostgreSQL `_ という名前で配布されていました。 このページの変更のリストは情報提供のみを目的とており、コミットに加えて製品の履歴を示します。 **ここにリストされているバージョンは、CloudNativePGには存在しません。** バージョン1.14.0 ---------------- **発売日** 2022年3月25日 特徴 - Barman Cloud 2.19で導入された機能を利用して、バックアップとリカバリーのためのGoogle Cloud Storageをネイティブにサポート - ``Cluster`` オブジェクトの\ ``LastBackupSucceeded`` 条件の導入によるバックアップの可観測性の向上 - ホットスタンバイの重要なパラメーターの更新のサポート ``max_connections`` 、\ ``max_prepared_transactions`` 、\ ``max_locks_per_transaction`` 、\ ``max_wal_senders`` 、\ ``max_worker_processes`` - ``Cluster`` オブジェクトに\ ``Online upgrade in progress`` フェーズを追加して、オペレーターのオンラインアップグレードが進行中の場合を表示します - S3オブジェクトストレージの資格情報を提供する別の方法としてAWS IAMロールを継承する機能 - プーラーのauthQuerySecretと証明書の不透明なシークレットのサポート - デフォルトのPostgreSQLバージョンを14.2に更新しました - 新しいコマンドを\ ``maintenance`` という名前の\ ``kubectl cnp`` プラグインに追加して、Kubernetesクラスター全体の1つまたはすべての名前空間のクラスターにメンテナンスウィンドウを設定します コンテナイメージ - 最新のPostgreSQLコンテナにはBarman Cloud 2.19が含まれます セキュリティの強化 - OpenShiftを含むOperator Lifecycle Managerを使用した名前空間オペレーターインストールのRBAC適用の強化。 OpenShiftユーザーはこのバージョンに更新することをお勧めします。 修正 - インスタンスマネージャーが元の\ ``pg_control`` ファイルのコピーを保存することにより、中断された\ ``pg_rewind`` を再試行できます - ``pg_rewind`` を実行する前に古いPIDファイルをクリーンアップする - ``primary_conninfo`` のキーによるソートを強制して、13より前のPostgreSQLバージョンでのランダムな再起動を回避します - リコンシリエーション時に\ ``ServiceAccount`` 変更ラベル、アノテーションなどを保存します - imagePullPolicyのデフォルト値の適用を無効にする - WALセグメントサイズのinitDB検証を改善します - 指定されたLSNでクラスターをリカバリーするときに\ ``targetLSN`` オプションを適切に処理する - サーバー証明書とCA証明書の両方で証明書チェーンを許可することにより、カスタムTLS証明書の検証を修正します バージョン1.13.0 ---------------- **リリース日** 2022年2月17日 特徴 - Snappy圧縮のサポート。 Snappyは、より低い圧縮率を使用してオブジェクトストアへのアップロードの速度を向上させるバックアップの高速圧縮オプションです - Barmanオブジェクトストアにアップロードされたファイルのタグ付けのサポート。この機能には、オペランドイメージにBarman 2.18が必要です。クラスター削除後のバックアップの数 - ``status.conditions`` によるクラスターのステータスの拡張。条件\ ``ContinuousArchiving`` は、クラスターがWALファイルのアーカイブを開始したことを示します - 追加情報を使用して\ ``kubectl`` の\ ``cnp`` プラグインのstatusコマンドを改善します。クラスターのステータスを表示する\ ``Cluster Summary`` セクションと、クラスターで使用される証明書のステータスと有効期限までの残り時間を含む\ ``Certificates Status`` セクションを追加します - 新しいクラスターの作成時に空ではないバックアップ先を検出する新しい\ ``barman-cloud-check-wal-archive`` コマンドをサポート - ``Secret`` を使用して、\ ``MONITORING_QUERIES_SECRET`` 構成変数を介してデフォルトのモニタリングクエリーを追加するサポートを追加します。 - ユーザーがAppArmorを使用してコンテナの権限を制限できるようにしますAppArmorサポートで展開されたKubernetesクラスターで - ``kubectl`` の\ ``cnp`` プラグインにWindowsプラットフォームのサポートを追加し、プラグインはWindows x86およびARMで利用できるようになりました - Kubernetes 1.18および非推奨のAPIバージョンのサポートを終了 コンテナイメージ - PostgreSQLコンテナにはBarman 2.18が含まれます セキュリティ修正 - 所有者およびスーパーユーザーのシークレット内のユーザー名フィールドの一貫性チェックを追加します。以前は、悪意のあるユーザーがシークレットを使用してPostgreSQLユーザーのパスワードを変更することができました 修正 - Postgresポッドからのコード取得ステータスのメモリリークを修正 - クラッシュ後のPostgreSQLの自己再起動を無効にします。インスタンスコントローラはPostgreSQLインスタンスのライフサイクルを処理します - 検証Webhookの\ ``.spec.postgresUID`` および\ ``.spec.postgresGID`` フィールドの変更を防止します。クラスターの作成後にこれらのフィールドを変更すると、PostgreSQLが起動できなくなります - バックアップおよびWALアーカイブ処理コードからログの冗長性を削減します - まだ初期化されていないときにクラスターが\ ``Healthy`` としてマークされるバグを修正 - 非常に高いWAL生産レートのクラスター内のスタンバイサーバーは、調整されるとストリーミングに切り替えることができます - まれにクラッシュにつながる可能性があるPostgreSQLポッドの起動中の競合状態を修正します - クラスター内の最初のPVCの初期化障害を引き起こす可能性のある競合状態を修正 - レプリカとしてクラスターに参加する前に、降格したばかりのプライマリポッドの余分な再起動を削除します - バックアップから復旧するときにレプリケーション依存のPostgreSQL構成パラメーターを正しく処理します - クラスターの作成中にPostgreSQL構成の検証が欠落していたのを修正 バージョン1.12.0 ---------------- **発売日** 2022年1月11日 特徴 - Kubernetes 1.23をサポートされるKubernetesディストリビューションのリストに追加し、2020年12月にKubernetesプロジェクトによるサポートを終了した1.17のエンドツーエンドテストを削除します。 - 2秒の接続タイムアウトと30秒の通信タイムアウトを追加することにより、ネットワークに問題が発生した場合のポッドステータスチェックの応答性を向上させます。この変更は、ポッドが障害が発生したと宣言する前にそのステータスを報告するのをオペレーターが待機する時間に制限を設定し、フェールオーバー操作の堅牢性と予測可能性を強化します - ``.spec.inheritedMetadata`` フィールドをクラスターに導入して、ユーザーがクラスターによって生成されたすべてのオブジェクトに適用されるラベルとアノテーションを指定できるようにします - インスタンスのステータスを計算するときに実行されるクエリの数を削減します - PgBouncerの準備状況プローブを追加します - Azureプロトコルを使用する場合、Barmanのバックアップオブジェクトストアのエンドポイントのカスタム認証局のサポートを追加 修正 - フェイルオーバー中に、すべてのWALストリーミング接続が閉じるまで、新しいプライマリの選択を待ちます。オペレーターは、デフォルトで\ ``wal_sender_timeout`` および\ ``wal_receiver_timeout`` を5秒に設定して、プライマリにネットワークの問題があるかどうかをスタンバイノードがすぐに認識できるようにしました - レプリカクラスター内のPostgreSQLインスタンスの「archive_mode」を「always」に設定することにより、レプリカクラスターのWALアーカイブ戦略を変更して、ローリング更新を修正します。次に、現在およびターゲット指定されたプライマリからのみWALのアップロードを制限します。 WALは、スイッチオーバー中に2回アップロードされる場合がありますが、これは問題ではありません - レプリカクラスターソースのBarmanのバックアップオブジェクトストアのエンドポイントのカスタム認証局のサポートを修正 - クラスター名前空間のデフォルトの監視構成マップの固定名を使用する - デフォルトのWebhookが何らかの理由で機能していない場合、オペレーターは調整サイクル中にもデフォルトでクラスターを更新するようになりました - リソース要求と制限の比較を修正して、調整サイクルごとにすべてのポッドの更新につながる稀な問題を修正します - Webhookからのログメッセージを改善して、オブジェクト名前空間も含めます - すべての調整ループの開始時に「デフォルト」メッセージのロギングを停止します - ``enablePodMonitor`` がfalseの場合、調整サイクルごとにPodMonitor削除のロギングを停止します - ポッドに到達できない場合、アーキテクチャの不一致の可能性について文句を言わないでください バージョン1.11.0 ---------------- **発売日** 2021年12月15日 特徴 - **パラレルWALアーカイブとリストア** ``backupObjectStore.maxParallel`` オプションを導入して、大量の書き込みシステムでWAL生成に追いつくことができます。PostgreSQLの\ ``archive_command`` によると、両方のWALアーカイブ中に実行するパラレルジョブの最大数を設定します。 WALリストア ``restore_command`` による。並列復元オプションを使用すると、必要なWALファイルを取得して、シークエンシャルではなくパラレルで再生することにより、新しく昇格したスタンバイをより速く準備状態に到達できます。 - **モニタリングのためのデフォルトのメトリックセット** ``default-monitoring`` と呼ばれる新しい\ ``ConfigMap`` は、オペレーターの同じ名前空間に自動的に展開され、デフォルトで、既存のPostgresクラスターに追加されます。このような動作は、オペレーターの構成で\ ``MONITORING_QUERIES_CONFIGMAP`` パラメーターを設定することによりグローバルに、または\ ``.spec.monitoring.disableDefaultQueries`` オプションデフォルトで\ ``false`` に設定を介してクラスターレベルで変更できます。 - クラスターのモニタリングセクションに\ ``enablePodMonitor`` オプションを導入して、\ ``PodMonitor`` リソースを自動的に管理し、Prometheusとシームレスに統合します - ポッドがKubernetesによって強制終了される前に、目的の\ ``stopDelay`` 時間の前半にスマートシャットダウンを実行し、残りの半分に高速シャットダウンを実行することにより、PostgreSQLのシャットダウンプロシージャを改善します - ``switchoverDelay`` オプションを追加して、以前のプライマリが正常にシャットダウンし、新しいプライマリを昇格する前にすべてのWALファイルをアーカイブするために与えられた時間を制御しますデフォルトでは、CloudNativePGは無期限に待機して特権データの耐久性 - ローリング更新を発行することにより、PostgreSQL ``Cluster`` のリソース要求と制限の変更を処理します - ``kubectl`` の\ ``cnp`` プラグインの\ ``status`` コマンドを改善し、追加情報ストリーミングレプリケーションステータス、データベースの合計サイズ、クラスター内のインスタンスのロール - PostgreSQLの共有メモリ管理の\ ``dynamic_shared_memory_type`` および\ ``shared_memory_type`` パラメーターの構成を有効にすることにより、多くの並列ワーカーを使用したワークロードのサポートを強化します - クラスターレベルで定義されたラベルとアノテーションを、ポッドを含む関連リソースに伝播します削除はサポートされていません - Kubeletによって追い出されたポッドを自動的に削除します - ``ENABLE_AZURE_PVC_UPDATES`` オペレーター構成オプションを介して、必要に応じてクラスターのローリング更新を発行することにより、Azureの永続ボリュームの自動サイズ変更を管理しますデフォルトで無効 - 特定のPostgresクラスターで\ ``disabled`` に設定されている場合、調整ループの実行を防止する\ ``cnpg.io/reconciliationLoop`` アノテーションを導入します - ``initdb`` ブートストラップ方法の一部として\ ``postInitApplicationSQL`` オプションを導入して、クラスターが作成された直後にスーパーユーザーとしてメインアプリケーションデータベースで実行するSQLクエリーのリストを指定します 修正 - Livenessプローブは、PostgreSQLサーバーの起動プロセスを正しく処理するようになりました。これは、少数の顧客から報告された問題を修正し、一貫した状態に到達するためにWALファイルを復旧する必要がある再起動したスタンバイサーバーに影響しますが、livenessプローブのタイムアウトがキックインする前にそれを行うことができず、ポッドを\ ``CrashLoopBackOff`` に残しましたステータス。 - Livenessプローブは、タイムライン流用後に\ ``pg_rewind`` を使用して現在のプライマリと再調整する必要がある元のプライマリの場合を正しく処理するようになりました。これにより、新しいスタンバイのポッドがKubernetesによって繰り返し強制終了されないように修正されます。 - Postgresポッドからクライアントサイドの調整を削減します ``Waited for 1.182388649s due to client-side throttling, not priority and fairness, request: GET`` など - 提供されたものを使用して、OpenShiftおよびOLMインストールでの公開キーインフラストラクチャPKIの初期化を無効にします - 再起動が必要な構成パラメーターを変更する場合、常にプライマリを最後のままにしてください - ジョブが正常に完了した後にのみ準備ができているPVCをマークし、PVCの初期化の競合状態を防ぎます - 有効期限が切れたWebhook TLSシークレットを更新するときに、正しい公開キーを使用します。 - LSNを解析する際のオーバーフローを修正 - 起動時に古いPIDファイルを削除する - ``Pooler`` リソースに、オペレーターで定義された\ ``imagePullSecret`` が存在する場合を継承させます バージョン1.10.0 ---------------- **発売日** 2021年11月11日 特徴 - **PgBouncerを使用した接続プーリング** ``Pooler`` リソースとコントローラを導入して、ローカルPostgreSQL ``Cluster`` の接続プーラーとして使用されるPgBouncer展開を自動的に管理します。この機能には、TLSクライアント/サーバー接続、パスワード認証、高可用性、ポッドテンプレートのサポート、主要なPgBouncerパラメーターの構成、\ ``PAUSE`` / ``RESUME`` 、JSON形式のロギング、統計、プール、リストのPrometheusエクスポータが含まれます - **バックアップリテンションポリシー** バックアップのリカバリウィンドウリテンションポリシーの定義をサポートたとえば、30日のリカバリウィンドウを保証するための`30d’ - **オペレーターのインプレース更新** インスタンスマネージャーのインプレースオンライン更新を導入します。これにより、オペレーターの更新に続いてクラスター全体のローリング更新を実行する必要がなくなります。デフォルトでは、このオプションは無効になっています。 :ref:`documentation for more detailed information ` を参照してください。 - ``initdb`` ブートストラップ方法でカスタマイズできるオプションのリストを\ ``dataChecksums`` 、\ ``encoding`` 、\ ``localeCollate`` 、\ ``localeCType`` 、\ ``walSegmentSize`` に制限します。これにより、\ ``options`` 配列は時代遅れになり、v2 APIで削除される予定です - ``initdb`` ブートストラップ方法の一部として\ ``postInitTemplateSQL`` オプションを導入して、クラスターが作成された直後にスーパーユーザーとして\ ``template1`` データベースで実行するSQLクエリーのリストを指定します。この機能を使用すると、クラスター内に作成されるすべてのアプリケーションデータベースにデフォルトオブジェクトを含めることができます - インスタンスPrometheusエクスポーターに新しいデフォルトメトリックを追加しました。バックアップカタログに基づくPostgresバージョン、クラスター名、およびリカバリ可能の最初のポイント - 障害後のバックアップの再試行 - オペレーターが、頻繁に更新されないオペランドイメージに存在しない最近導入された機能リテンションポリシー、Azure Blob Containerストレージなどを呼び出さないようにするために、 Barman Cloud機能に関する認識を高めます。 - ``cnp`` プラグインの\ ``status`` コマンドの出力とバックアップに関する情報を統合 - PVCのステータス初期化または準備ができていることを報告する新しいアノテーションを導入します - ``Backup`` オブジェクトを含む\ ``Cluster`` で生成されたすべてのオブジェクトの\ ``k8s.enterprisedb.io/cluster`` ラベルにクラスター名を設定します - ``Cluster`` 、\ ``Backup`` 、および\ ``ScheduledBackup`` 種類での非推奨のAPIバージョン\ ``postgresql.cnpg.io/v1alpha1`` のサポートをドロップ - デフォルトのオペランドイメージをPostgreSQL 14.2に設定します セキュリティ - オペレーターコンテナsecurityContextのallowPrivilegeEscalationを\ ``false`` に設定します 修正 - シングルインスタンスクラスターでのメンテナンス中にプライマリPodDisruptionBudgetを無効にする - 復旧操作中に正しい証明書認証局CAを使用する - バックアップする前にWALアーカイブステータスを確認する際のPostgres接続リークを防止 - ログをフラッディングする一時的なエラーの後、WALアーカイブ/復元を100ミリ秒スリープさせます バージョン1.9.2 --------------- **発売日** 2021年10月15日 特徴 - 2つの新しいロガーでJSONログを強化します。PostgreSQLの\ ``archive_command`` の場合は\ ``wal-archive`` 、スタンバイの\ ``restore_command`` の\ ``wal-restore`` 修正 - スタンバイプロモーション中にWALアーカイブを有効にする ``.history`` ファイルがアーカイブされるのを防止 - Barman 2.13以降を使用する場合にのみ\ ``--cloud-provider`` オプションをBarman Cloudツールに渡して、古いオペランドでのエラーを回避します - バックアップをトリガーする前に、プライマリのポッドの準備が整うのを待ちます バージョン1.9.1 --------------- **発売日** 2021年9月30日 \*このリリースは、 `PostgreSQL 14 `_ のローンチを記念するものです 特定のイメージ名を定義せずに新しい\ ``Cluster`` が作成されるときに、それをデフォルトのメジャーバージョンにすることにより。\* 修正 - ``Error while getting barman endpoint CA secret`` メッセージがプライマリポッドのログに表示され、バックアップが正しく機能しない問題を修正 - インスタンスマネージャーとの一時的な通信の問題が発生した場合、新しいバックアップの要求を適切に再試行します バージョン1.9.0 --------------- **発売日** 2021年9月28日 *バージョン1.9.0は、リリースプロセスとバージョン1.9.1のその後のリリースの遅延により、OpenShiftでは利用できません。* 特徴 - サポートされているKubernetesディストリビューションのリストにKubernetes 1.22を追加し、1.16を削除 - 必要に応じて、バックアップアーカイブからWALファイルを取得するために、 ``pg_rewind`` に\ ``--restore-target-wal`` オプションのサポートを導入しますPostgreSQL 13以降でのみ利用可能 - 各データベースの\ ``pg_catalog.pg_largeobject`` テーブルのページ数を推定するPrometheusエクスポーターのデフォルトメトリックを公開する - ローカルのインメモリキャッシュを介して、WALのアーカイブと取得のパフォーマンスを向上させます 修正 - ``pg_isready`` を呼び出すときに\ ``postgres`` ユーザーを明示的に設定します-OpenShiftの制限されたSCCで必要 - ステータスの\ ``FirstRecoverabilityPoint`` を適切に更新します - バックアップが要求された場合、指定されたプライマリで\ ``archive_mode = always`` を設定します - マイナーなバグ修正 バージョン1.8.0 --------------- **発売日** 2021年9月13日 特徴 - 外部クラスターセクションで定義されたオブジェクトストアから直接フルまたはポイントインタイムリカバリーを介して新しいクラスターをブートストラップし、バックアップCRを定義するための以前の要件を排除します。 - スケジュールされたバックアップに\ ``immediate`` オプションを導入して、最初のPostgresインスタンスが実行された直後にバックアップを要求し、ポイントインタイムリカバリが構成されているときにクラスターの先頭に巻き戻す機能を追加します - クラスターステータスに\ ``firstRecoverabilityPoint`` を追加して、バックアップオブジェクトストアのコンテンツに基づいてリカバリを要求する最も古い一貫したポイントを報告します - 次の新しいメトリックを公開することにより、PostgreSQLインスタンスのデフォルトのPrometheusエクスポータを強化します。 1. ディスク上のWALファイルの数と計算された合計サイズb_tran_3 アーカイブステータスフォルダー内の\ ``.ready`` および\ ``.done`` ファイルの数b_tran_6レプリカモードのフラグ 2. 要求された最小/最大同期の数レプリカ、および予想および実際に観察されたレプリカ - Prometheusエクスポーターでカスタムメトリックを定義するときに\ ``runonserver`` オプションのサポートを追加して、メトリックの収集をさまざまなPostgreSQLバージョンに制限します - Barman CloudのBarman 2.13で導入された機能を利用して、バックアップとリカバリーのためのAzure Blob Storageをネイティブにサポート - livenessプローブに\ ``pg_isready`` に依存する - リカバリターゲット時間のタイムスタンプ仕様のRFC3339形式をサポート - ``.spec.imagePullPolicy`` を導入して、クラスター用に作成されたすべてのポッドとジョブのイメージコンテナのプルポリシーを制御します - OpenShift 4.5に代わるOpenShift 4.8のサポートを追加します - PostgreSQL 14ベータ版のサポート - ストリーミング接続を必要とせず、外部クラスターセクションで定義されたオブジェクトストアからのクラスター間レプリケーションでレプリカクラスター機能を強化します実験 - クラスターの仕様に\ ``logLevel`` オプションを導入して、エラー、情報、デバッグ、またはトレースのいずれかのレベルを指定します セキュリティの強化 - ``.spec.enableSuperuserAccess`` を導入して、パスワード認証を介して\ ``postgres`` ユーザーのネットワークアクセスを有効/無効にします 修正 - クラスターが回復不能な状態になり、人間の介入が必要になると、ユーザーに適切に通知します バージョン1.7.1 --------------- **発売日** 2021年8月11日 特徴 - 同期レプリケーションに関して構成より自己修復を優先し、クラスターが自己修復操作中に要件を満たせない場合に、オペレーターが\ ``minSyncReplicas`` および\ ``maxSyncReplicas`` 設定を一時的にオーバーライドできるようにします - ``initdb`` ブートストラップ方法の一部として\ ``postInitSQL`` オプションを導入して、クラスターが作成された直後にスーパーユーザーとして実行するSQLクエリーのリストを指定します 修正 - プライマリの準備ができていないときにオペレーターがフェイルオーバーを許可します1.7.0で導入されたバグ - ``LOCAL`` 同期コミットレベルを使用して管理照会を実行します - PGAuditの複数行のログエントリを正しく解析する バージョン1.7.0 --------------- **発売日** 2021年7月28日 特徴 - JSON出力で直接使用可能な\ ``pgaudit`` と呼ばれる新しいタイプの\ ``logger`` を使用して、PGAuditにネイティブサポートを追加します - - によるモニタリングと可観測機能の強化 ``pg_stat_statements`` および\ ``auto_explain`` 拡張機能のネイティブサポート - 1つ以上のデータベースでユーザー定義のメトリッククエリーを実行するPrometheusエクスポータの\ ``target_databases`` オプションシェルのようなパターンマッチングを介したデータベースの自動検出を含む) - ``primaryUpdateStrategy`` が\ ``supervised`` に設定されたクラスターに手動スイッチオーバーが必要かどうかを迅速に報告するための\ ``manual_switchover_required`` メトリックの公開 - ``pg_audit`` 、\ ``auto_explain`` 、および\ ``pg_stat_statements`` の\ ``shared_preload_libraries`` の透過的ハンドル - ``pg_stat_statements`` 、\ ``pgaudit`` 、または\ ``auto_explain`` オプションが\ ``postgresql`` パラメーターセクションに追加される場合のPostgreSQLの\ ``shared_preload_libraries`` の自動構成 - ``cnpg.io/reload`` ラベルをサポートして、構成マップとシークレットの自動リロードを細かく制御します。プロメテウスエクスポータのカスタムモニタリング/アラートメトリックに使用されるもの、または証明書を保存するために使用されるものを含む - ``reload`` コマンドを\ ``kubectl`` の\ ``cnp`` プラグインに追加して、インスタンスで調整ループをトリガーする - ``additionalPodAffinity`` および\ ``additionalPodAntiAffinity`` を介してポッドアフィニティおよびアンチアフィニティ構成の制御を向上させます - 任意の時点で、少なくとも1つのプライマリインスタンスを実行する必要があることにより、プライマリインスタンス用に別個の\ ``PodDisruptionBudget`` を導入します セキュリティの強化 - ``.spec.certificates.clientCASecret`` および\ ``.spec.certificates.replicationTLSSecret`` オプションを追加して、カスタムクライアント認証局とPostgreSQLサーバーの証明書を定義します。クライアント証明書の認証とPostgreSQLノード間の安全な通信に使用されます - ``.spec.backup.barmanObjectStore.endpointCA`` オプションを追加して、Barmanのバックアップオブジェクトストアのエンドポイントのカスタム認証局バンドルを定義します 修正 - Prometheusエクスポーターでヒストグラムを正しく解析する - クラスター用にオペレーターが作成したサービスの調整 バージョン1.6.0 --------------- **発売日** 2021年7月12日 特徴 - レプリカモード **実験** ソースクラスターのレプリカとしてクラスターを作成できます。レプリカクラスターには、 *指定されたプライマリ* と任意の数のスタンバイがあります。 - ``.spec.postgresql.promotionTimeout`` パラメーターを追加して、インスタンスをプライマリに昇格するときに待機する最大秒数を指定します。デフォルトは40000000秒です。 - ``.spec.affinity.podAntiAffinityType`` パラメーターを追加します。 ``preferred`` デフォルトに設定して\ ``preferredDuringSchedulingIgnoredDuringExecution`` が使用されるか、\ ``required`` に設定して\ ``requiredDuringSchedulingIgnoredDuringExecution`` になります。 変更点 - PVCとポッドを削除する際の競合状態を修正し、オペレーターが新しいポッドを作成できませんでした。 - マネージャーが構成変更時にPostgreSQLの再起動の必要性を検出できない競合状態を修正しました。 - アノテーションのないクラスターでの\ ``kubectl-cnp`` のパニックを修正しました。 - 一部のログメッセージのレベルを\ ``debug`` に下げました。 - サーバーCAおよびTLSインジェクションのE2Eテスト。 バージョン1.5.1 --------------- **発売日** 2021年6月17日 変更します - Red Hat OpenShiftでのオペレーター展開での自動更新を防止するCRD検証のバグを修正 - シークレットを使用してオペレーターの構成を渡すことを許可します。 バージョン1.5.0 --------------- **発売日** 2021年6月11日 特徴 - ``pg_basebackup`` ブートストラップ方法を導入して、Kubernetesの外部でも、同じメジャーバージョンの既存のPostgreSQLインスタンスのコピーとして新しいPostgreSQLクラスターを作成します - ``Cluster`` リソースの\ ``Affinity`` セクションにKubernetesの許容範囲のサポートを追加し、ユーザーは必要なテイントを持つKubernetesノードにPostgreSQLインスタンスを分散できます。 - より決定的で反復可能な展開のために、 ``:@sha256:`` 形式を介してイメージ名へのダイジェストの仕様を有効にします セキュリティの強化 - サーバー証明書と、それに署名した関連認証局のシークレットを定義することにより、PostgreSQLサーバーを認証するようにTLS証明書をカスタマイズ - 内部および自動的に管理されるストリーミングレプリカのWALレシーバープロセスの\ ``sslmode`` を\ ``require`` から\ ``verify-ca`` に引き上げます 変更点 - ``kubectl`` の\ ``cnp`` プラグインの\ ``promote`` サブコマンドを強化して、ポッドの名前全体ではなくノード番号のみを受け入れるようにしました - クラスター名にDNS-1035検証スキームを採用サービス名が継承されます - スタンバイインスタンスのクローンを作成するとき、または\ ``pg_basebackup`` メソッドを使用してブートストラップするときにストリーミングレプリケーション接続を強制する - 物理ベースのバックアップに関して\ ``Backup`` リソースを\ ``beginWal`` 、\ ``endWal`` 、\ ``beginLSN`` 、\ ``endLSN`` 、\ ``startedAt`` 、\ ``stoppedAt`` と統合 - ドキュメントの改善 - オペレーターとオペランドによって公開されるポートのリストを提供します container - データベースワークロードのストレージとPostgreSQLのベンチマークのための\ ``cnp-bench`` helpmチャートとガイドラインを紹介します - E2Eテストの機能強化 - Kubernetes 1.21 - をテストする オペレーターの高可用性のテストを追加します - ノードドレインのテストを追加します - マイナーバグ修正、以下を含むマイナーバグ修正 - リカバリ操作中のpg_ctl startへのタイムアウトが短すぎます b_tran_8 オペレーターがPVCsで直接イベントを監視していない - ``barmanObjectStore`` バックアップの\ ``immediateCheckpoint`` および\ ``jobs`` パラメーターの処理を修正します - バックアップから復旧するときに空のログ バージョン1.4.0 --------------- **発売日** 2021年5月18日 特徴 - JSON形式のPostgreSQLエラーメッセージの標準出力ログ - PrometheusエクスポーターのPostgreSQLメトリックの基本セットを提供します - ``restart`` コマンドを\ ``kubectl`` の\ ``cnp`` プラグインに追加して、特定のPostgreSQLクラスターのポッドをロールアウト方法で再起動します セキュリティの強化 - ポッドの\ ``readOnlyRootFilesystem`` セキュリティコンテキストを設定します 変更点 - **重要** YAMLマニフェストを使用してCloudNativePGオペレーターを展開したことがある場合、新しいバージョンをインストールする前に既存のオペレーター展開を削除する必要があります。これは、オペレーターによって直接管理されるラベルとラベルセレクターの変更に伴う他のKubernetes APIとの競合を回避するために必要です。 1.4.0へのアップグレードの詳細については、 CloudNativePGドキュメントを参照してください。 - オペレーターによって自動的に定義されるラベルを修正し、名前を\ ``control-plane: controller-manager`` から\ ``app.kubernetes.io/name: cloudnative-pg`` に変更します - PrometheusエクスポーターのTCPポートに\ ``metrics`` 名前を割り当てます - PostgreSQLのメトリックエクスポータ接続に\ ``application_name`` として\ ``cnp_metrics_exporter`` を設定します - 可能な場合は、\ ``postgres`` データベースの代わりにPrometheusエクスポータのモニタリングクエリーにアプリケーションデータベースを使用します - ドキュメントの改善 - モニタリングクエリーのカスタマイズ - Operatorのアップグレード手順 - E2Eテストの機能強化 - マイナーバグ修正など - ``pg_basebackup`` - を呼び出すときに\ ``-R`` の使用を回避します ステータスを取得するときにエラーログからスタックトレースを削除します バージョン1.3.0 --------------- **発売日** 2021年4月23日 特徴 - ラベルとアノテーションの継承 - すべてのコンテナにリソース制限を設定する セキュリティの強化 - Red Hat OpenShiftでの制限付きセキュリティコンテキスト制約のサポートで、ポッドの実行を名前空間に割り当てられたUIDおよびSELinuxコンテキストに制限します - 非ルート、非特権、および特権エスカレーションなしで実行するようにオペレーターによって明示的に定義されたポッドセキュリティコンテキスト 変更点 - ポート9187でリッスンするPrometheusエクスポータエンドポイントポート8000は、APIサーバーとのインスタンス調整のために予約されています - ドキュメントの改善 - GKE環境を含むE2Eテストの機能強化 - マイナーなバグ修正 バージョン1.2.1 --------------- **発売日** 2021年4月6日 - ScheduledBackupはバックアップの所有者でなくなりました。つまり、 ScheduledBackupオブジェクトが削除されてもバックアップは削除されません - RHSA-2021:1024セキュリティアドバイザリ:重要を解決するためのubi8-minimalイメージの更新 バージョン1.2.0 --------------- **発売日** 2021年3月31日 - Prometheusの\ ``postgres_exporter`` と互換性のある構文を使用して、ConfigMapおよびSecretオブジェクトとしてカスタムモニタリングクエリの実験的なサポートを導入します - Operator Lifecycle ManagerOLM展開をサポートし、その後のOperatorHub.ioでのプレゼンス - 米国国防総省DoDの国防情報システム局DISAおよびインターネットセキュリティセンターCISからのガイドラインを適用し、Dockleとのパイプラインで直接検証することにより、コンテナのセキュリティを強化します - AKSでのE2Eテストの改善 - マイナーなバグ修正 バージョン1.1.0 --------------- **発売日** 2021年3月3日 - JSONおよびYAML出力を含むクラスターのステータスを整形印刷するために\ ``kubectl cnp status`` を追加 - ``kubectl cnp certificate`` を追加して、クライアントアプリケーションのTLS認証を有効にします - ``-ro`` サービスを追加して、使用可能なホットスタンバイレプリカのみに接続をルーティングし、クラスターのプライマリインスタンスからの読み取り専用クエリのオフロードを有効にします - クラスターを\ ``maxSyncReplicas`` より低い値にスケールダウンしたロールバック - 元のプライマリを降格する前にチェックポイントを要求する - ``SIGINT`` 信号高速シャットダウンを\ ``SIGTERM`` のPostgreSQLプロセスに送信します - マイナーなバグ修正 バージョン1.0.0 --------------- **発売日** 2021年2月4日 CloudNativePGの最初のメジャー安定リリースは、APIグループ\ ``postgresql.cnpg.io/v1`` の\ ``Cluster`` 、\ ``Backup`` 、および\ ``ScheduledBackup`` を実装します。これらのリソースを使用して、次の主な機能を使用してKubernetes内でPostgreSQLクラスターを作成および管理します。 - 外部ツールを必要とせずに、高可用性を実現するKubernetes APIサーバーとの直接統合 - 最も調整されたレプリカ - レプリカの自動再作成を促進することによるプライマリインスタンスの - フェイルオーバーを介した自己修復機能 - 選択したレプリカの昇格によるプライマリインスタンスの計画的なスイッチオーバー - スケールアップ/ダウン機能 - 任意の数のインスタンスの定義最小1 - 1つのプライマリサーバー - アプリケーションをクラスターの唯一のプライマリサーバーに接続するための *読み取り-書き込み* サービスの定義 - アプリケーションを読み取りワークロードのインスタンスに接続する *read* サービスの定義 - PVCテンプレートを使用したローカル永続ボリュームのサポート - ポッドの永続ボリュームストレージの再利用 - PostgreSQLのマイナーバージョンとオペレーターのアップグレードのローリングアップデート - TLS接続とクライアント証明書認証 - S3互換オブジェクトストアへの継続的なバックアップ - S3互換オブジェクトストアバックアップからのフルリカバリーとポイントインタイムリカバリー - 同期レプリカのサポート - ``nodeSelector`` プロパティを介したノードアフィニティのサポート - PostgreSQLエラーメッセージの標準出力ログ