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ファイルをクリーンアップ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 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プロトコルを使用する場合、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アーカイブと復元: WALアーカイブ(PostgreSQLの
archive_commandによる)とWALアーカイブの両方の間に実行される並列ジョブの最大数を設定するbackupObjectStore.maxParallelオプションを導入することにより、データベースが高書き込みシステムで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 probeは、PostgreSQLサーバーの起動プロセスを正しく処理するようになりました。これにより、数人の顧客によって報告された問題が修正され、再起動されたスタンバイサーバーに影響を与えます WALファイルを回復して一貫した状態に到達する必要がありますが、 livenessプローブのタイムアウトが始まる前にそれを行うことができず、ポッドが
CrashLoopBackOffに残りますステータス。Liveness probeは、タイムラインの変更後に
pg_rewindを使用して現在のプライマリと再調整する必要がある以前のプライマリのケースを正しく処理するようになりました。これにより、新しいスタンバイのポッドがKubernetesによって繰り返し強制終了されるのが修正されます。Postgresポッドからのクライアント側のスロットルを削減します(例:
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日のリカバリウィンドウを保証するための「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で必要statusの
FirstRecoverabilityPointを適切に更新しますバックアップが要求された場合、指定されたプライマリで
archive_mode = alwaysを設定しますマイナーなバグ修正
バージョン1.8.0¶
リリース日: 2021年9月13日
特徴:
外部クラスターセクションで定義されたオブジェクトストアから直接、完全またはポイントインタイムリカバリを介して新しいクラスターをブートストラップし、バックアップCRを定義する以前の要件を排除します
スケジュールされたバックアップに
immediateオプションを導入し、最初のPostgresインスタンスが実行された直後にバックアップを要求し、ポイントインタイムリカバリが構成されているときにクラスターの先頭に巻き戻す機能を追加しますクラスターステータスに
firstRecoverabilityPointを追加して、最も古い一貫した時点を報告し、バックアップオブジェクトストアのコンテンツに基づいてリカバリを要求します次の新しいメトリックを公開することにより、PostgreSQLインスタンスのデフォルトのPrometheusエクスポーターを拡張します。
WALファイルの数とディスク上の計算された合計サイズ 2. アーカイブステータスフォルダー内の
.readyおよび.doneファイルの数 3.レプリカモードのフラグ 4.要求された最小/最大同期レプリカ、ならびに予想および実際に観察された数もの
Prometheusエクスポーターでカスタムメトリックを定義するときに
runonserverオプションのサポートを追加し、メトリックの収集をPostgreSQLバージョンの範囲に制限します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ノード間の安全な通信に使用します.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のOperator Deploymentsでの自動更新を妨げるCRD検証のバグを修正
Secretを使用してオペレーターの構成を渡すことを許可します。
バージョン1.5.0¶
リリース日: 2021年6月11日
特徴:
pg_basebackupブートストラップメソッドを導入して、Kubernetesの外部であっても、同じメジャーバージョンの既存のPostgreSQLインスタンスのコピーとして新しい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 - オペレーターの高可用性のテストを追加 - ノードドレインのテストを追加
マイナーなバグ修正。
バージョン1.4.0¶
リリース日: 2021年5月18日
特徴:
JSON形式のPostgreSQLエラーメッセージの標準出力ロギング
PrometheusエクスポーターにPostgreSQLメトリックの基本セットを提供します
restartコマンドをkubectlのcnpプラグインに追加して、特定の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テンプレートを使用したローカル永続ボリュームのサポート
PodでのPersistent Volumesストレージの再利用
PostgreSQLマイナーバージョンとオペレーターアップグレードのローリングアップデート
TLS接続とクライアント証明書認証
S3互換オブジェクトストアへの継続的なバックアップ
S3互換オブジェクトストアバックアップからの完全復旧とポイントインタイム復旧
同期レプリカのサポート
nodeSelectorプロパティを介したノードアフィニティのサポートPostgreSQLエラーメッセージの標準出力ロギング