1.14.0以前のリリースノート¶
- 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ロールを継承する機能
PoolerのauthQuerySecretと証明書のOpaque secretsのサポート
デフォルトの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ファイルをクリーンアップ13より前のPostgreSQLバージョンでのランダムリスタートを回避するために、
primary_conninfoのキーによるソートを強制します調整時に
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 Podからステータスを取得するコードでのメモリリークを修正
クラッシュ後のPostgreSQLのセルフリスタートを無効にします。インスタンスコントローラーはPostgreSQLインスタンスのライフサイクルを処理します
検証Webhookの
spec.postgresUIDおよびspec.postgresGIDフィールドの変更を防ぎます。クラスターの作成後にこれらのフィールドを変更すると、PostgreSQLを起動できませんバックアップとWALアーカイブ処理コードからログの冗長性を減らします
まだ初期化されていないときにクラスターが
Healthyとしてマークされるバグを修正非常に高いWAL生産率を持つクラスター内のスタンバイサーバーが調整されたら、ストリーミングに切り替えることができます
まれにクラッシュする可能性のあるPostgreSQL Podの起動中の競合状態を修正
クラスター内の最初のPVCの初期化に失敗する可能性のある競合状態を修正
レプリカとしてクラスターに参加する前に、降格したばかりのプライマリポッドの余分なリスタートを削除します
バックアップから回復するときにレプリケーションに依存するPostgreSQL構成パラメーターを正しく処理する
クラスター作成中のPostgreSQL構成の欠落している検証を修正
バージョン1.12.0¶
リリース日: 2022年1月11日
特徴:
サポートされているKubernetesディストリビューションのリストにKubernetes 1.23を追加し、2020年12月にKubernetesプロジェクトによるサポートを終了した1.17のエンドツーエンドテストを削除します
2秒の接続タイムアウトと30秒の通信タイムアウトを追加することにより、ネットワークに問題が発生した場合のポッドステータスチェックの応答性を向上させます。この変更により、オペレーターがポッドが失敗と宣言する前にステータスを報告するのを待機する時間に制限が設定され、フェイルオーバー操作の堅牢性と予測可能性が強化されました。
.spec.inheritedMetadataフィールドをクラスターに導入して、ユーザーがクラスターによって生成されたすべてのオブジェクトに適用されるラベルと注釈を指定できるようにしますインスタンスのステータスを計算するときに実行されるクエリの数を減らす
PgBouncerのreadinessプローブを追加します
Azureプロトコル使用時のバーマンのバックアップオブジェクトストアのエンドポイントのカスタム認証局のサポートを追加
修正:
フェイルオーバー中に、すべてのWALストリーミング接続が閉じられるまで、新しいプライマリを選択するのを待ちます。オペレーターは、デフォルトで
wal_sender_timeoutとwal_receiver_timeoutを5秒に設定して、プライマリにネットワークの問題がある場合にスタンバイノードが迅速に通知するようにしますレプリカクラスター内のPostgreSQLインスタンスの「archive_mode」を「always」に設定して、ローリング更新を修正するようにレプリカクラスターのWALアーカイブ戦略を変更します。次に、WALのアップロードを現在およびターゲットの指定されたプライマリからのみ制限します。スイッチオーバー中にWALが2回アップロードされる場合がありますが、これは問題ではありません
レプリカクラスターソースのBarmanのバックアップオブジェクトストアのエンドポイントのカスタム認証局のサポートを修正
クラスター名前空間のデフォルトのモニタリング構成マップに固定名を使用する
デフォルトのWebフックが何らかの理由で機能していない場合、オペレーターは調整サイクル中にもデフォルトでクラスターを更新するようになりました
リソースの要求と制限の比較を修正して、すべての調整サイクルですべてのポッドの更新につながるまれな問題を修正します
Webhookからのログメッセージを改善して、オブジェクトの名前空間も含める
すべての調整ループの開始時に「デフォルト」メッセージのログ記録を停止します
enablePodMonitorがfalseの場合、すべての調整サイクルでPodMonitorの削除のログを停止しますポッドに到達できない場合にアーキテクチャの不一致の可能性について不平を言わない
バージョン1.11.0¶
リリース日: 2021年12月15日
特徴:
並列WALアーカイブと復元:
backupObjectStore.maxParallelオプションを導入して、WALアーカイブ(PostgreSQLのarchive_commandによる)とWAL復元(restore_commandによる)。並列復元オプションを使用すると、必要なWALファイルを取得して順次ではなく並列に再生することにより、新しく昇格したスタンバイをより迅速に準備完了状態にすることができますモニタリング用のメトリックのデフォルトセット:
default-monitoringと呼ばれる新しいConfigMapは、オペレーターの同じ名前空間に自動的にデプロイされ、デフォルトでは、既存のPostgresクラスターに追加されます。このような動作は、オペレーターの構成でMONITORING_QUERIES_CONFIGMAPパラメーターを設定することによりグローバルに変更するか、.spec.monitoring.disableDefaultQueriesオプション(デフォルトではfalseに設定)を介してクラスターレベルで変更できますクラスターのモニタリングセクションに
enablePodMonitorオプションを導入して、PodMonitorリソースを自動的に管理し、Prometheusとシームレスに統合しますポッドがKubernetesによって強制終了される前に、目的の
stopDelay時間の前半にスマートシャットダウンを実行し、残りの半分に高速シャットダウンを実行しようとすることにより、PostgreSQLのシャットダウン手順を改善します前のプライマリが正常にシャットダウンし、新しいプライマリを昇格する前にすべてのWALファイルをアーカイブする時間を制御する
switchoverDelayオプションを追加します(デフォルトでは、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 Probeは、PostgreSQLサーバーの起動プロセスを正しく処理するようになりました。これにより、数人のお客様から報告された問題が修正され、WALファイルを回復して一貫した状態に到達する必要がある再起動されたスタンバイサーバーに影響しますが、livenessプローブのタイムアウトが作動する前にそれを行うことができず、ポッドが
CrashLoopBackOffに残りますステータス。Liveness probeは、タイムラインの変更後に
pg_rewindを使用して現在のプライマリに再調整する必要がある以前のプライマリのケースを正しく処理するようになりました。これにより、新しいスタンバイのポッドがKubernetesによって繰り返し強制終了されるのが修正されます。Postgres Podからのクライアント側のスロットルを削減します(例:
Waited for 1.182388649s due to client-side throttling, not priority and fairness, request: GET)提供されたものを使用して、OpenShiftおよびOLMインストールでPublic Key Infrastructure(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日間のリカバリウィンドウを保証)
オペレーターのインプレース更新 :インスタンスマネージャーのインプレースオンライン更新を導入すると、オペレーターの更新に続いてクラスター全体のローリング更新を実行する必要がなくなります。デフォルトでは、このオプションは無効になっています(
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で生成されたすべてのオブジェクトのcnpg.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日
*このリリースは、特定のイメージ名を定義せずに新しいCluster
が作成されたときのデフォルトのメジャーバージョンにすることにより、
PostgreSQL 14 の発売を祝うものです。
修正:
プライマリポッドのログに
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で必要statusの
FirstRecoverabilityPointを適切に更新しますバックアップが要求された場合、指定されたプライマリで
archive_mode = alwaysを設定しますマイナーなバグ修正
バージョン1.8.0¶
リリース日: 2021年9月13日
特徴:
外部クラスターセクションで定義されたオブジェクトストアから直接、完全またはポイントインタイムリカバリを介して新しいクラスターをブートストラップし、バックアップCRを定義するための以前の要件を排除します
スケジュールされたバックアップに
immediateオプションを導入して、最初に実行されたPostgresインスタンスの直後にバックアップを要求し、ポイントインタイムリカバリが構成されているときにクラスターの先頭に巻き戻す機能を追加しますクラスターステータスに
firstRecoverabilityPointを追加して、バックアップオブジェクトストアのコンテンツに基づいてリカバリを要求する最も古い一貫したポイントを報告します次の新しいメトリックを公開することにより、PostgreSQLインスタンスのデフォルトのPrometheusエクスポーターを強化します。
1.ディスク上のWALファイルの数と計算された合計サイズ
2.アーカイブステータスフォルダー内の.ready および.done
ファイルの数 3.レプリカモードのフラグ
4.要求された最小/最大の同期レプリカ、予想および実際に観察された数もの
Prometheusエクスポーターでカスタムメトリックを定義して、メトリックの収集を一連のPostgreSQLバージョンに制限するときに
runonserverオプションのサポートを追加Barman 2.13 for Barman Cloudで導入された機能を利用して、バックアップと回復のためにAzure Blob Storageをネイティブにサポート
liveness probeは
pg_isreadyに依存しますリカバリー対象時刻のタイムスタンプ指定にRFC3339フォーマットに対応
クラスター用に作成されたすべてのポッドとジョブのイメージコンテナのプルポリシーを制御する
.spec.imagePullPolicyを導入OpenShift 4.5に代わるOpenShift 4.8のサポートを追加します
PostgreSQL 14(ベータ版)のサポート
ストリーミング接続を必要とせずに、外部クラスターセクションで定義されたオブジェクトストアからのクロスクラスターレプリケーションでレプリカクラスター機能を強化します(実験的)
クラスターの仕様に
logLevelオプションを導入して、エラー、情報、デバッグ、またはトレースのいずれかを指定します
セキュリティの強化:
パスワード認証を介して
postgresユーザーとのネットワークアクセスを有効/無効にする.spec.enableSuperuserAccessを導入
修正:
クラスターが回復不能な状態になり、人間の介入が必要な場合にユーザーに適切に通知します
バージョン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オプション -manual_switchover_requiredメトリックの露出primaryUpdateStrategyがsupervisedに設定されているクラスターに手動スイッチオーバーが必要かどうかを迅速に報告するpg_audit、auto_explain、およびpg_stat_statementsのshared_preload_librariesを透過的に処理pg_stat_statements、pgauditまたはauto_explainオプションがpostgresqlパラメーターセクションに追加された場合のPostgreSQLのshared_preload_librariesの自動構成cnpg.io/reloadラベルをサポートして、構成マップとシークレットの自動リロードを細かく制御します。kubectlのcnpプラグインにreloadコマンドを追加して、インスタンスで調整ループをトリガーしますadditionalPodAffinityおよびadditionalPodAntiAffinityを介したPodアフィニティおよびアンチアフィニティ構成の制御を向上させます少なくともプライマリインスタンスをいつでも実行することを要求することにより、プライマリインスタンスに別個の
PodDisruptionBudgetを導入します
セキュリティの強化:
.spec.certificates.clientCASecretおよびspec.certificates.replicationTLSSecretオプションを追加して、PostgreSQLサーバーのカスタムクライアント認証局と証明書を定義し、クライアント証明書を認証し、PostgreSQLノード間の通信を保護しますBarmanのバックアップオブジェクトストアのエンドポイントのカスタム認証局バンドルを定義する
.spec.backup.barmanObjectStore.endpointCAオプションを追加します
修正:
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検証のバグを修正
Secretを使用してオペレーターの構成を渡すことを許可します。
バージョン1.5.0¶
リリース日: 2021年6月11日
特徴:
pg_basebackupブートストラップメソッドを導入して、Kubernetesの外部でも、同じメジャーバージョンの既存のPostgreSQLインスタンスのコピーとして作成しますClusterリソースのAffinityセクションにKubernetesの容認のサポートを追加し、ユーザーが必要なテイントを持つKubernetesノードにPostgreSQLインスタンスを配布できるようにしますより決定的で反復可能な展開のために、
<image>:<tag>@sha256:<digestValue>形式を介したイメージ名へのダイジェストの指定を有効にします
セキュリティの強化:
サーバー証明書とそれに署名した関連する認証局のシークレットを定義することにより、PostgreSQLサーバーを認証するようにTLS証明書をカスタマイズします
requireからverify-caへの内部および自動管理ストリーミングレプリカのWALレシーバープロセスのsslmodeを上げる
変更点:
kubectlのcnpプラグインのpromoteサブコマンドを拡張して、ポッドの名前全体ではなくノード番号のみを受け入れますクラスター名(サービス名の継承元)にDNS-1035検証スキームを採用
スタンバイインスタンスをクローニングするとき、または
pg_basebackupメソッドを使用してブートストラップするときに、ストリーミングレプリケーション接続を強制しますフィジカルベースのバックアップに関して
BackupリソースをbeginWal、endWal、beginLSN、endLSN、startedAt、stoppedAtに統合ドキュメントの改善: - オペレーターとオペランドコンテナによって公開されるポートのリストを提供する - データベースワークロードのストレージとPostgreSQLのベンチマークのための
cnp-benchヘルムチャートとガイドラインを導入E2Eテストの機能強化: - テストKubernetes 1.21 - オペレーターの高可用性のテストを追加 - ノードドレインのテストを追加
以下を含むマイナーなバグ修正 - リカバリ操作中のpg_ctl startへのタイムアウトが短すぎる - オペレーターがPVC上の直接イベントを監視していない -
barmanObjectStoreバックアップのimmediateCheckpointおよびjobsパラメーターの処理を修正しました
バージョン1.4.0¶
リリース日: 2021年5月18日
特徴:
JSON形式のPostgreSQLエラーメッセージの標準出力ログ
PrometheusエクスポーターにPostgreSQLメトリックの基本セットを提供します
kubectlのcnpプラグインにrestartコマンドを追加して、ロールアウト形式で特定のPostgreSQLクラスターのポッドを再起動します
セキュリティの強化:
Podの
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エクスポーターのクエリを監視するためのアプリケーションデータベースを使用しますドキュメントの改善: - モニタリングクエリのカスタマイズ - オペレーターのアップグレード手順
E2Eテストの機能強化
マイナーなバグ修正:-
pg_basebackupを呼び出すときに-Rを使用しない
バージョン1.3.0¶
リリース日: 2021年4月23日
特徴:
ラベルとアノテーションの継承
すべてのコンテナにリソース制限を設定する
セキュリティの強化:
Podの実行を名前空間に割り当てられたUIDおよびSELinuxコンテキストに制限する、Red Hat OpenShiftの制限付きセキュリティコンテキスト制約のサポート
非ルート、非特権、特権エスカレーションなしで実行するようにオペレーターによって明示的に定義されたポッドセキュリティコンテキスト
変更点:
ポート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 Manager(OLM)の展開をサポートし、その後にOperatorHub.ioに存在する
米国国防総省(DoD)の国防情報システム局(DISA)とインターネットセキュリティセンター(CIS)のガイドラインを適用し、Doccleとのパイプラインで直接検証することにより、コンテナのセキュリティを強化します
AKSでのE2Eテストを改善
マイナーなバグ修正
バージョン1.1.0¶
リリース日: 2021年3月3日
kubectl cnp statusを追加して、JSONおよびYAML出力を含むクラスターのステータスをきれいに印刷しますkubectl cnp certificateを追加して、クライアントアプリケーションのTLS認証を有効にします-roサービスを追加して、使用可能なホットスタンバイレプリカのみに接続し、クラスターのプライマリインスタンスからの読み取り専用クエリのオフロードを有効にしますクラスターを
maxSyncReplicasよりも低い値にロールバックする以前のプライマリを降格する前にチェックポイントを要求する
SIGTERM上のPostgreSQLプロセスにSIGINTシグナル(高速シャットダウン)を送信しますマイナーなバグ修正
バージョン1.0.0¶
リリース日: 2021年2月4日
CloudNativePGの最初のメジャー安定版リリースは、APIグループpostgresql.cnpg.io/v1
のCluster 、Backup 、およびScheduledBackup
を実装しています。これらのリソースを使用して、次の主な機能を備えた
Kubernetes 内に PostgreSQL クラスターを作成および管理します。
外部ツールを必要とせずに、高可用性を実現するためのKubernetes APIサーバーとの直接統合
以下を介した自己修復機能 - 最も調整されたレプリカをプロモートすることによるプライマリインスタンスのフェイルオーバー - レプリカの自動再作成
選択したレプリカを昇格させることによるプライマリインスタンスの計画的なスイッチオーバー
スケールアップ/ダウン機能
・任意数のインスタンスの定義(最小1~1つのプライマリサーバ)
アプリケーションをクラスターの唯一のプライマリサーバーに接続するための読み取り/書き込みサービスの定義
ワークロードを読み取るためにアプリケーションをインスタンスに接続するための読み取りサービスの定義
PVCテンプレートを使用したローカル永続ボリュームのサポート
ポッドでの永続ボリューム ストレージの再利用
PostgreSQLのマイナーバージョンとオペレーターのアップグレードのローリングアップデート
TLS接続とクライアント証明書認証
S3互換オブジェクトストアへの継続的なバックアップ
S3互換オブジェクトストアバックアップからの完全復旧とポイントインタイム復旧
同期レプリカのサポート
nodeSelectorプロパティを介したノードアフィニティのサポートPostgreSQLのエラーメッセージの標準出力ロギング