Release notes¶
CloudNativePGのユーザーに表示される変更の履歴。
バージョン1.15.0¶
リリース日: 2022年4月21日
機能:
フェンシング: クラスターまたは特定のフェンシング機能の紹介
cnpg.io/fencedInstancesを介したPostgreSQLインスタンスのセット 空でない場合、クラスター内のスイッチオーバー/フェイルオーバーを無効にする注釈。 フェンスされたインスタンスはシャットダウンされ、ポッドは実行され続けます(検討中 準備ができていない)検査と緊急事態LDAP認証: LDAP Simple BindおよびSearch + Bind構成を許可 Postgresクラスター仕様で定義される
pg_hba.confのオプション 宣言的に、Kubernetesシークレットを機密情報としてオプショナルで使用できるようにしますldapbindpasswdなどのオプションの値を受け入れる
primaryUpdateMethodオプションの導入switchover(デフォルト)およびrestart、監視なしの場合に使用primaryUpdateStrategy;このメソッドは、プライマリに何が起こるかを制御します ローリング更新プロシージャ中のインスタンスkubectl cnpプラグインの新しいreportコマンドにより、診断が改善され、 演算子と特定のPostgresの両方のより効果的なトラブルシューティング クラスターバックアップオブジェクトストアに存在しない
Backupオブジェクトを整理するポイントインタイムリカバリでのターゲットタイムラインと
LSNの指定 ブートストラップメソッドAWS S3での
AWS_SESSION_TOKEN認証トークンのサポートsessionTokenオプションPoolerポッドのPgBouncerのデフォルトのイメージ名前はquay.io/enterprisedb/pgbouncer:1.17.0
修正:
targetTimeによるPoint-in-Timeリカバリのベースバックアップ検出 以前は、利用可能な最新のバックアップの前のターゲットが 不可能(検出アルゴリズムは、最後の 出発点としてのバックアップ)に依存することにより、ホットスタンバイの影響を受けやすいパラメーターの回復力を向上 演算子が
pg_controldataから収集する値無効なエントリを適切に破棄することにより、中間証明書のハンドリングが改善されました。 無効な証明書エラーをスローする代わりに
データベース内のPrometheusエクスポーターメトリックコレクションクエリは、 ロールバックではなくコミット(これにより、数値が変更される可能性があります 下流のダッシュボードから可視ロールバックされたトランザクションの 該当する場合)
バージョン1.14.0¶
リリース日: 2022年3月25日
機能:
バックアップとリカバリのためにGoogle Cloud Storageをネイティブにサポートします。 Barman Cloud 2.19で導入された機能の利点
の序文によるバックアップの視認性の改善
ClusterオブジェクトのLastBackupSucceeded条件ホットスタンバイの重要なパラメーターの更新のサポート:
max_connections、max_prepared_transactions、max_locks_per_transaction、max_wal_senders、max_worker_processesClusterオブジェクトにOnline upgrade in progressフェーズを追加して表示します 演算子のオンラインアップグレードが進行中のとき提供する代替方法としてAWS IAMロールを継承する機能 S3オブジェクトストレージの資格情報
プーラーのauthQuerySecretおよび証明書の不透明なシークレットのサポート
デフォルトのPostgreSQLバージョンを14.2に更新
maintenance名前付けのkubectl cnpプラグインに新しいコマンドを追加して設定します Kubernetes全体の1つまたはすべてのネームスペースのクラスターに対するメンテナンスウィンドウ クラスター
コンテナ画像:
最新のPostgreSQLコンテナには、 Barman Cloud 2.19が含まれます
セキュリティの強化:
Operatorを使用したネームスペース演算子のインストールに対するRBACの強化 OpenShiftを含むLifecycle Manager。 OpenShiftユーザーの推奨事項 このバージョンにアップデートしてください。
修正:
インスタンスマネージャが、中断された
pg_rewindを保持してリトライできるようにします。 オリジナルのpg_controlファイルのコピーpg_rewindを実行する前に古いPIDファイルをクリーンアップしますprimary_conninfoのキーによる並べ替えを強制して、ランダム再起動を回避します 13より前のPostgreSQLバージョンServiceAccountの変更(ラベル、注釈など)を保持します 和解imagePullPolicyのデフォルト値の適用を無効にします
WALセグメントサイズのinitDBバリデーションを改善
LSNを使用してクラスターを回復する際に
targetLSNオプションを適切にハンドルする 指定された証明書チェーンの両方を許可することにより、カスタムTLS証明書のバリデーションを修正 サーバーおよびCA証明書
バージョン1.13.0¶
リリース日: 2022年2月17日
機能:
Snappy圧縮のサポート。 Snappyは、増加するバックアップの高速圧縮オプションです より低い圧縮率を使用したオブジェクトストアへのアップロードの速度 Barmanオブジェクトストアにアップロードされたタグファイルのサポート。この機能には オペランドイメージのBarman2.18。 クラスタ削除後のバックアップの
status.conditionsを使用したクラスターのステータスの拡張。条件ContinuousArchivingクラスターがWALファイルのアーカイブを開始したことを示しますkubectlのcnpプラグインのstatusコマンドを追加情報で改善: クラスターとCertificates Statusのステータスを示すCluster Summaryセクションを追加します クラスターで使用される証明書のステータスを含むセクション エキスパイアまで空ではないバックアップ先を検出する新しい
barman-cloud-check-wal-archiveコマンドをサポート 新しいクラスターを作成するときSecretを使用してデフォルトのモニタリングクエリを追加するためのサポートを追加MONITORING_QUERIES_SECRET構成変数。ユーザがAppArmorを使用してコンテナの権限を制限できるようにします(デプロイされたKubernetesクラスター上) AppArmorサポート付き)
kubectlのcnpプラグインにWindowsプラットフォームサポートを追加しました。現在、プラグインが利用可能です Windows x86およびARMKubernetes 1.18および非推奨のAPIバージョンのサポートを終了
コンテナ画像:
PostgreSQLコンテナにはBarman 2.18が含まれます
セキュリティ修正:
所有者およびスーパーユーザシークレット内のユーザー名フィールドの一貫性チェックを追加。 以前は、悪意のあるユーザがシークレットを使用してパスワードを変更できた可能性があります PostgreSQLユーザの
修正:
Postgresポッドからステータスを取得するコードのメモリーリークを修正 -
クラッシュ後のPostgreSQLの自己再起動を無効にします。インスタンスコントローラが処理する
PostgreSQLインスタンスのライフサイクル - spec.postgresUID および
spec.postgresGID フィールドの変更を防止
バリデーションwebhookで。クラスターの作成後にこれらのフィールドを変更すると、
PostgreSQLをスタートできなくなります -
バックアップおよびWALアーカイビングハンドリングコードからのログの冗長性を削減
- まだ初期化されていないときにクラスターが Healthy
としてマークされるバグを修正 -
非常に高いWAL稼動レートのクラスター内のスタンバイサーバをストリーミングにスイッチことができます。
それらが整列したら -
まれにクラッシュにつながる可能性のあるPostgreSQLポッドのスタートアップ中の競合条件を修正
- クラスター内の最初のPVCの初期化に失敗する可能性のある競合条件を修正 -
クラスターをレプリカとして参加させる前に、降格したばかりのプライマリポッドの余分なリスタートを削除します
-
復旧時にレプリケーションに敏感なPostgreSQL構成パラメーターを正しくハンドルする
バックアップから -
クラスター作成中のPostgreSQL構成のバリデーションの欠落を修正
バージョン1.12.0¶
リリース日: 2022年1月11日
機能:
サポートされているKubernetesディストリビューションのリストにKubernetes 1.23を追加し、1.17のエンドツーエンドテストを削除します。 2020年12月にKubernetesプロジェクトによるサポートを終了しました
ネットワークに問題がある場合のポッドステータスチェックの応答性を改善する 2秒の接続タイムアウトと通信タイムアウトを追加することにより 30秒。この変更により、演算子が待機する時間に制限が設定されます 失敗として宣言する前にステータスをレポートするポッド フェイルオーバーオペレーションの堅牢性と予測可能性
ユーザに許可するクラスターに
.spec.inheritedMetadataフィールドを導入 生成されたすべてのオブジェクトに適用されるラベルと注釈を指定する クラスターによってステータスの計算時に実行されるクエリの数を減らす インスタンスの
PgBouncerの準備プローブを追加します
バーマンのエンドポイントのカスタム認証局のサポートを追加 Azureプロトコルを使用する場合のバックアップオブジェクトストア
修正:
フェイルオーバー中、すべてのWALストリーミングが完了するまで、新しいプライマリが選択されるのを待ちます 接続が閉じられます。演算子はデフォルトで
wal_sender_timeoutを設定するようになりました およびwal_receiver_timeoutを5秒にmake、スタンバイノードが プライマリにネットワークの問題がある場合はすぐに気づくレプリカクラスターのWALアーカイビング戦略を変更してローリング更新を修正 のPostgreSQLインスタンスに対して「archive_mode」を「always」に設定することにより レプリカクラスター。次に、WALのアップロードを制限します 現在のターゲットと指定されたプライマリ。 WALは2回アップロードされる場合があります 切り替え中、これは問題ではありません
バーマンのエンドポイントのカスタム認証局のサポートを修正 レプリカクラスタソースのバックアップオブジェクトストア
クラスター名前空間のデフォルトのモニタリング構成マップに固定名前を使用する
デフォルトのwebhookが何らかの理由で機能しない場合、演算子は今 調整サイクル中にもデフォルトでクラスターを更新します
リソースリクエストと制限の比較を修正して、まれな問題を修正 すべての調整サイクルですべてのポッドの更新につながる
webhookからのログメッセージを改善して、オブジェクトのネームスペースも含める
すべての調整ループのスタートに「デフォルト」メッセージのロギングを停止します
調整サイクルごとにPodMonitor削除のロギングを停止します
enablePodMonitorがfalseの場合ポッドがそうでない場合、アーキテクチャの不一致の可能性について文句を言わないでください 到達可能
バージョン1.11.0¶
リリース日: 2021年12月15日
機能:
パラレルWALのアーカイビングと復元: データベースがWALに対応できるようにする を導入することにより、高書き込みシステムでの生成 並列の最大数を設定する
backupObjectStore.maxParallelオプション 両方のWALアーカイビング中に実行されるジョブ(PostgreSQLのarchive_command)およびWAL復元(restore_commandによる)。パラレルを使用する 復元オプションにより、新しく昇格されたスタンバイをより早く準備完了状態にすることができます 必要なWALファイルをフェッチして、順次ではなく並行してリプレイするモニタリングのためのメトリックのデフォルトセット: 新しい
ConfigMapと呼ばれるdefault-monitoringは、同じ名前空間に自動的にデプロイされます デフォルトでは、既存のPostgresクラスターに追加され演算子。そのような振る舞いMONITORING_QUERIES_CONFIGMAPパラメータを設定してグローバルに変更できます オペレーターの構成、またはクラスターレベルで.spec.monitoring.disableDefaultQueriesオプション(デフォルトではfalseに設定)のモニタリングセクションに
enablePodMonitorオプションを導入PodMonitorリソースを自動的かつシームレスに管理するクラスター プロメテウスと統合するスマートを実行しようとすることにより、 PostgreSQLのシャットダウンプロシージャを改善します。 目的の
stopDelay時間の前半のシャットダウン、および高速 Kubernetesによってポッドが殺される前の残りの半分のシャットダウンswitchoverDelayオプションを追加して、前者に与えられる時間を制御します プライマリを正常にシャットダウンし、すべてのWALファイルをアーカイブする前に 新しいプライマリをプロモートします(デフォルトでは、CloudNativePGは待機します 権限データの永続性まで無期限に) PostgreSQLClusterのリソース要求と制限の変更を処理する ローリング更新の発行kubectlのcnpプラグインのstatusコマンドを改善 追加情報:ストリーミングレプリケーションステータス、合計サイズ データベース、クラスター内のインスタンスのロール有効にすることにより、多くの並列ワーカーでワークロードのサポートを強化
dynamic_shared_memory_typeおよびshared_memory_typeの構成 PostgreSQLの共有メモリ管理のパラメータークラスターレベルで定義されたラベルと注釈を 関連リソース(ポッドを含む)(削除はサポートされていません)
Kubeletによって削除されたポッドを自動的に削除します
Azureの永続ボリュームの自動サイズ変更を管理する
ENABLE_AZURE_PVC_UPDATES演算子構成オプション。 必要に応じてクラスターのローリング更新(デフォルトでは無効)cnpg.io/reconciliationLoopアノテーションを導入します。 特定のPostgresクラスターでdisabledに設定し、調整を防止します 実行中のループinitdbオプションのパートとしてpostInitApplicationSQLオプションを導入 メインで実行されるSQLクエリのリストを指定するブートストラップメソッド クラスタが実行された直後のスーパーユーザとしてのアプリケーションデータベース 作成された
修正:
LivenessプローブがPostgreSQLのスタートアッププロセスを正しく処理するようになりました サーバー。これにより、少数のお客様から報告された問題が修正され、 一貫性を保つためにWALファイルを回復するニーズがある再起動されたスタンバイサーバ 状態ですが、活性プローブのタイムアウトになる前にそれを行うことができませんでした 起動して、ポッドを
CrashLoopBackOffステータスのままにします。Livenessプローブは、ニーズ以前のプライマリのケースを正しく処理するようになりました
pg_rewindを使用して、タイムライン後に現在のプライマリと再調整する 転用。これにより、新しいスタンバイのポッドが繰り返し殺されるのを修正します Kubernetesによる。 Postgresポッドからのクライアント側の調整を削減します(例:「 優先度と公平性ではなく、クライアント側の調整による1.182388649 リクエスト:GET`)OpenShiftおよびOLMで公開キーインフラストラクチャ(PKI)の初期化を無効にする 提供されたものを使用したインストール
リスタートが必要な構成パラメータを変更するときは、常に 最後のプライマリ
ジョブが正常に完了した後にのみ、PVCを準備完了としてマークします。 PVC初期化での競合条件の防止
有効期限が切れたWebhook TLSシークレットを更新するときは、正しい公開キーを使用します。
LSNのパース時のオーバーフローを修正
スタートアップに古いPIDファイルを削除する
Poolerリソースに、定義されているimagePullSecretを継承させます。 演算子、存在する場合
バージョン1.10.0¶
リリース日: 2021年11月11日
機能:
PgBouncerによる接続プーリング :
Poolerリソースを導入し、 として使用されるPgBouncer展開を自動的に管理するコントローラ ローカルPostgreSQLClusterのコネクションプーラ。この機能には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 バージョン、クラスター名前、およびリカバリー可能性の最初のポイント バックアップカタログ
失敗後にバックアップの取得を再試行します Barman Cloudの機能に関する認識を構築して、 最近導入された機能(保持など)の呼び出しからの演算子 オペランドに存在しないポリシー、またはAzure Blob Containerストレージ) 頻繁に更新されない画像
cnpプラグインのstatusコマンドの出力と情報を統合します バックアップについてPVCのステータスを報告する新しい注釈を導入します( 初期化済みまたは準備完了)
cnpg.io/clusterlabelにクラスター名前を設定しますBackupオブジェクトを含むBackupオブジェクトで生成されたオブジェクト非推奨のAPIバージョンのサポートを終了
Cluster、Backupのpostgresql.cnpg.io/v1alpha1、およびScheduledBackup種類デフォルトのオペランドイメージをPostgreSQL 14.2に設定
セキュリティ:
演算子コンテナーのallowPrivilegeEscalationを
falseに設定します securityContext
修正:
単一インスタンスのメンテナンス中にプライマリPodDisruptionBudgetを無効にします クラスター
リカバリ中に正しい証明書証明権限(CA)を使用する 操作
WALアーカイビング状態を確認する前にPostgres接続がリークするのを防ぐ バックアップを取る
一時的なエラーが発生した後、WALアーカイブ/リストアを100ミリ秒間スリープさせます。 それ以外の場合はログをフラッディングする
バージョン1.9.2¶
リリース日: 2021年10月15日
機能:
2つの新しいロガーでJSONログを強化します:PostgreSQLの
wal-archiveスタンバイのarchive_command、およびrestore_commandのwal-restore
修正:
スタンバイプロモーション中にWALアーカイビングを有効にします(
.historyファイルを防止します) アーカイブされることから)使用する場合にのみ、
--cloud-providerオプションをBarman Cloudツールに渡します 古いオペランドのエラーを回避するためのBarman 2.13以降プライマリのポッドが準備できるのを待ってから、バックアップをトリガーします
バージョン1.9.1¶
リリース日: 2021年9月30日
このリリースは、 `PostgreSQL 14 <https://www.postgresql.org/about/news/postgresql-14-released-2318/>`__ の発売を祝うためのものです。 新しい ``Cluster`` を作成せずにデフォルトのメジャーバージョンにする 特定のイメージ名前を定義します。
修正:
Error while getting barman endpoint CA secretメッセージの原因となる問題を修正 プライマリポッドのログに表示され、バックアップが機能しなかった 正しく一時的な通信の場合、新しいバックアップの要求を適切にリトライします インスタンスマネージャの問題
バージョン1.9.0¶
リリース日: 2021年9月28日
バージョン1.9.0は、OpenShiftでは使用できないため、OpenShiftでは使用できません バージョン1.9.1。のリリースプロセスとその後のリリース
機能:
サポートされているKubernetesディストリビューションのリストにKubernetes 1.22を追加します。 削除1.16
pg_rewindの--restore-target-walオプションのサポートを導入 必要に応じて、バックアップアーカイブからWALファイルをフェッチオーダー(利用可能 PostgreSQL 13以降のみ)Prometheusエクスポーターのデフォルトメトリックを公開して、数を推定します 各データベースの
pg_catalog.pg_largeobjectテーブル内のページのローカルインメモリを介して、WALのアーカイビングとフェッチのパフォーマンスを強化します。 キャッシュ
修正:
pg_isreadyを呼び出すときにpostgresユーザを明示的に設定します。 OpenShiftの制限されたSCCステータスの
FirstRecoverabilityPointを適切に更新しますバックアップが要求された場合、指定されたプライマリで
archive_mode = alwaysを設定しますマイナーなバグ修正
バージョン1.8.0¶
リリース日: 2021年9月13日
機能:
完全またはポイントインタイムリカバリを介して、新しいクラスターを直接ブートストラップします 外部クラスタセクションで定義されたオブジェクトストア バックアップCRを定義するための以前の要件
スケジュールされたバックアップに
immediateオプションを導入して、バックアップを要求します 最初のPostgresインスタンスの実行直後、機能を追加 Point-in-Time Recoveryが有効な場合にクラスターの最初に巻き戻す 設定済みクラスターステータスに
firstRecoverabilityPointを追加して、最も古いものをレポートします バックアップオブジェクトに基づいてリカバリを要求する一貫した時点 店のコンテンツ公開することにより、 PostgreSQLインスタンスのデフォルトのPrometheusエクスポーターを強化 次の新しいメトリック:
1.ディスク上のWALファイルの数と計算された合計サイズ2.アーカイブステータスフォルダー内のレプリカおよび同期的ファイルの数3.レプリカモードのフラグもの
でカスタムメトリックを定義するときに
runonserverオプションのサポートを追加 メトリックの収集を次のレンジに制限するプロメテウスエクスポーター PostgreSQLバージョンバックアップとリカバリのためにAzure Blob Storageをネイティブにサポートします。 Barman Cloud用にBarman 2.13で導入された機能の利点
活性プローブを
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日
機能:
pgauditと呼ばれるloggerの新しいタイプでPGAuditにネイティブサポートを追加 JSON出力で直接利用可能以下を介して、モニタリングと可観測性機能を強化します。
pg_stat_statementsおよびauto_explain拡張のネイティブサポート-Prometheusエクスポーターのtarget_databasesオプションは、1つ以上のデータベース(シェルのようなパターンマッチングによるデータベースの自動検出を含む)でユーザー定義のメトリッククエリーを実行します-manual_switchover_requiredメトリックの公開primaryUpdateStrategyがsupervisedに設定されているクラスターにマニュアルスイッチオーバーが必要かどうかを迅速にレポートするpg_stat_statements、pgaudit、またはauto_explainオプションがpostgresqlパラメーターセクションに追加された場合のPostgreSQLのshared_preload_librariesの自動構成cnpg.io/reloadlabelをサポートして、 カスタムに使用されるものを含む、構成マップとシークレットの自動リロード Prometheusエクスポーターでのメトリックのモニタリング/警告、または証明書の保存reloadコマンドをkubectlのcnpプラグインに追加して、 インスタンスの調整ループポッドアフィニティおよび非アフィニティ設定の制御を改善します
additionalPodAffinityおよびadditionalPodAntiAffinityプライマリインスタンス用に別の
PodDisruptionBudgetを導入します。 少なくとも1プライマリインスタンスをいつでも実行する必要がある
セキュリティの強化:
.spec.certificates.clientCASecretを追加し、 カスタムクライアントを定義するspec.certificates.replicationTLSSecretオプション 使用するPostgreSQLサーバーの証明機関と証明書 クライアント証明書を認証し、 PostgreSQL間の通信を保護する ノード.spec.backup.barmanObjectStore.endpointCAオプションを追加して、 Barmanのバックアップのエンドポイントのカスタム証明機関バンドル オブジェクトストア
修正:
Prometheusエクスポーターでヒストグラムを正しく解析
演算子がクラスター用に作成したサービスの調整
バージョン1.6.0¶
リリース日: 2021年7月12日
機能:
レプリカモード( EXPERIMENTAL ):クラスターをレプリカとして作成できるようにします ソースクラスターの。レプリカクラスターには、指定プライマリおよび スタンバイの数。
.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ブートストラップメソッドを導入して、新しいPostgreSQLを作成します 同じメジャーの既存のPostgreSQLインスタンスのコピーとしてのクラスター バージョン、Kubernetes外でもの
AffinityセクションにKubernetesの許容のサポートを追加 ユーザーがPostgreSQLインスタンスを配布できるようにするClusterリソース 必要な汚染のあるKubernetesノードを介して、イメージ名前へのダイジェストの指定を有効にします
<image>:<tag>@sha256:<digestValue>フォーマット、より決定的かつ 反復可能な展開
セキュリティの強化:
TLS証明書をカスタマイズして、 PostgreSQLサーバーを認証します。 サーバー証明書と関連する認証局の秘密 署名した
内部のWALレシーバプロセスの
sslmodeを上げ、requireからverify-caへの自動管理ストリーミングレプリカ
変更点:
kubectlが受け入れるようにcnpプラグインのpromoteサブコマンドを強化 ポッドの名前全体ではなく、ノード番号のみクラスター名にDNS-1035バリデーションスキームを採用(そこからサービス名 継承されます)
スタンバイインスタンスのクローン作成時にストリーミングレプリケーション接続を強制する、または
pg_basebackupメソッドを使用してブートストラップする場合BackupリソースをbeginWal、endWal、beginLSNと統合し、 物理的ベースバックアップに関するendLSN、startedAt、およびstoppedAtドキュメントの改善:
演算子とオペランドコンテナーによって公開されるポートのリストを提供する
cnp-benchヘルムチャートとベンチマークのガイドラインを紹介します。 データベースワークロード用のストレージとPostgreSQLE2Eテストの機能強化:
Kubernetes 1.21をテストする
演算子の高可用性のテストを追加します
ノードドレインのテストを追加
以下を含むマイナーなバグ修正:
リカバリ操作中のpg_ctl スタートのタイムアウトが短すぎます
オペレーターは、PVCの直接イベントを監視していません
immediateCheckpointおよびjobsパラメータのハンドリングを修正barmanObjectStoreバックアップバックアップから回復するときに空のログ
バージョン1.4.0¶
リリース日: 2021年5月18日
機能:
JSONフォーマットのPostgreSQLエラーメッセージの標準出力ロギング -
PrometheusエクスポーターにPostgreSQLメトリックの基本セットを提供します -
kubectl 用の cnp プラグインに restart
コマンドを追加してリスタートします
ロールアウト方式での特定のPostgreSQLクラスターのポッド
セキュリティの強化:
ポッドの
readOnlyRootFilesystemセキュリティコンテキストを設定する
変更点:
重要: CloudNativePGを以前にデプロイしたことがある場合 YAMLマニフェストを使用する演算子、既存の演算子を削除する必要があります 新しいバージョンをインストールする前の展開。これは避けるために必要です ラベルの変更による他のKubernetes APIとの競合 そして演算子によって直接管理されているlabelセレクター。参照してください アップグレード処理の詳細については、CloudNativePGの文書 1.4.0へ
演算子によって自動的に定義されるラベルを修正し、名前を変更します
control-plane: controller-managerからapp.kubernetes.io/name: cloudnative-pgmetrics名前をPrometheusエクスポーターのTCPポートに割り当てますcnp_metrics_exporterをメトリックエクスポーターのapplication_nameとして設定します PostgreSQLでの接続可能な場合は、モニタリングデータベースを使用して、
postgresデータベースではなくPrometheusエクスポータードキュメントの改善:
モニタリングクエリのカスタマイズ
オペレーターのアップグレード手順
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日
ConfigMapとしてカスタムモニタリングクエリの実験的サポートを導入し、 Prometheusの
postgres_exporterと互換性のある構文を使用する秘密オブジェクトOperator Lifecycle Manager(OLM)の展開をサポートします。 OperatorHub.io上の存在
米国国防総省のガイドラインを適用して、コンテナのセキュリティを強化 防衛(DoD)の防衛情報システム局(DISA)およびセンター インターネットセキュリティ(CIS)およびパイプラインで直接検証する ドックル
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の最初のメジャー安定(stable)リリースは、 APIグループ
postgresql.cnpg.io/v1 の Cluster 、 Backup および
ScheduledBackup
を実装します。これらのリソースを使用して、以下の主な機能を持つKubernetes内でPostgreSQLクラスターを作成および管理します。
高可用性のためのKubernetes APIサーバーとの直接統合、なし 外部ツールが必要
以下を介した自己修復機能:
最も整合したレプリカを昇格させることによるプライマリインスタンスのフェイルオーバー
レプリカの自動作成
選択したレプリカをプロモートすることにより、プライマリインスタンスの計画的な切り替え
スケールアップ/スケールダウン機能
任意の数のインスタンスの定義(最小1-1つのプライマリーサーバ)
アプリケーションを接続する* 読み書き*サービスの定義 クラスターのプライマリーサーバのみ
アプリケーションを次のいずれかに接続する* read *サービスの定義 ワークロードを読み取るためのインスタンス
PVCテンプレートを使用したローカル永続ボリュームのサポート
ポッドでの永続ボリュームストレージの再利用 PostgreSQLマイナーバージョンのローリング更新と演算子アップグレード
TLS接続とクライアント証明書認証
S3互換オブジェクトストアへの継続的なバックアップ
S3互換のオブジェクトストアバックアップからの完全リカバリとポイントインタイムリカバリ
同期的レプリカのサポート
nodeSelectorプロパティを介したノードアフィニティのサポート PostgreSQLエラーメッセージの標準出力ロギング