EDB Cloud-Native PostgreSQL
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_processesClusterオブジェクトに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リソースとコントローラを導入して、ローカルPostgreSQLClusterの接続プーラーとして使用されるPgBouncer展開を自動的に管理します。この機能には、TLSクライアント/サーバー接続、パスワード認証、高可用性、ポッドテンプレートのサポート、主要なPgBouncerパラメーターの構成、PAUSE/RESUME、JSON形式のロギング、統計、プール、リストのPrometheusエクスポータが含まれますバックアップリテンションポリシー バックアップのリカバリウィンドウリテンションポリシーの定義をサポートたとえば、30日のリカバリウィンドウを保証するための`30d’
オペレーターのインプレース更新 インスタンスマネージャーのインプレースオンライン更新を導入します。これにより、オペレーターの更新に続いてクラスター全体のローリング更新を実行する必要がなくなります。デフォルトでは、このオプションは無効になっています。 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エクスポータを強化します。
ディスク上のWALファイルの数と計算された合計サイズb_tran_3 アーカイブステータスフォルダー内の
.readyおよび.doneファイルの数b_tran_6レプリカモードのフラグ要求された最小/最大同期の数レプリカ、および予想および実際に観察されたレプリカ
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インスタンスを分散できます。より決定的で反復可能な展開のために、
<image>:<tag>@sha256:<digestValue>形式を介してイメージ名へのダイジェストの仕様を有効にします
セキュリティの強化
サーバー証明書と、それに署名した関連認証局のシークレットを定義することにより、PostgreSQLサーバーを認証するようにTLS証明書をカスタマイズ
内部および自動的に管理されるストリーミングレプリカのWALレシーバープロセスの
sslmodeをrequireからverify-caに引き上げます
変更点
kubectlのcnpプラグインのpromoteサブコマンドを強化して、ポッドの名前全体ではなくノード番号のみを受け入れるようにしましたクラスター名にDNS-1035検証スキームを採用サービス名が継承されます
スタンバイインスタンスのクローンを作成するとき、または
pg_basebackupメソッドを使用してブートストラップするときにストリーミングレプリケーション接続を強制する物理ベースのバックアップに関して
BackupリソースをbeginWal、endWal、beginLSN、endLSN、startedAt、stoppedAtと統合ドキュメントの改善
オペレーターとオペランドによって公開されるポートのリストを提供します container
データベースワークロードのストレージとPostgreSQLのベンチマークのための
cnp-benchhelpmチャートとガイドラインを紹介します
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エラーメッセージの標準出力ログ