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_processes

  • Cluster オブジェクトに 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およびARM

  • Kubernetes 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は待機します 権限データの永続性まで無期限に) PostgreSQL Cluster のリソース要求と制限の変更を処理する ローリング更新の発行

  • 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展開を自動的に管理するコントローラ ローカルPostgreSQL Cluster のコネクションプーラ。この機能には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/cluster labelにクラスター名前を設定します 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/reload labelをサポートして、 カスタムに使用されるものを含む、構成マップとシークレットの自動リロード 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 ヘルムチャートとベンチマークのガイドラインを紹介します。 データベースワークロード用のストレージとPostgreSQL

  • E2Eテストの機能強化:

  • 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-pg

  • metrics 名前を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エラーメッセージの標準出力ロギング