MongoDB Enterprise Kubernetes Operator のリリースノート
項目一覧
MongoDB Enterprise Kubernetes Operator 1.26 シリーズ
MongoDB Enterprise Kubernetes Operator 1.26.0
リリース2024 - 06 - 21
新機能
Kubernetes Operator の CPU 使用率と垂直スケーリングを改善し、Kubernetes Operator が並行して実行できる調整数を制御できることで、すべての管理対象リソースの調整を迅速化します。
Kubernetes Operator 配置の場合は
MDB_MAX_CONCURRENT_RECONCILES
を、または Kubernetes Operator インストールの Helm チャートではoperator.maxConcurrentReconciles
を設定できます。 指定しない場合、デフォルト値は1です。 調整の回数を制御する機能を使用すると、同じ時間枠でMongoDB Ops ManagerとKubernetes APIサーバーの負荷が増加する可能性があります。 Kubernetes Operator リソースの使用状況を確認し、必要に応じてoperator.resources.requests
とoperator.resources.limits
を調整します。 詳細については、Kubernetes ドキュメントの「ポッドとコンテナのリソース管理 」を参照してください。OpenShift 4.15のサポートを追加します。 詳細については、 MongoDB Enterprise Kubernetes Operatorの互換性を参照してください。
Helm Chart のインストール変更
Kubernetes Operator が並列に実行できる調整の数を制御する
operator.maxConcurrentReconciles
パラメーターを追加します。 デフォルト値は1です。演算子.webhook. InstallClusterRole を追加します Kubernetes Operator が認証 Webhook を構成できるようにするクラスター ロールをインストールするかどうかを制御するパラメーター。 クラスター ロールが許可されていない場合は、このパラメータを
false
に設定します。 デフォルト値はtrue
です。
バグ修正
MongoDBリソース:
spec.agent.startupOptions
に複数のエントリを含む MongoDB リソースを構成すると、基礎となるStatefulSet
の不要な調整が追加されるバグを修正します。MongoDB、MongoDB MultiClusterリソース: Kubernetes Operator が MongoDB Agent 認証用に構成された X- 509証明書の変更を監視しないバグを修正します。
MongoDBリソース: MongoDB Agent に渡されるブール値フラグのデフォルト値が
true
の場合、false
に設定できないバグを修正します。
MongoDB Enterprise Kubernetes Operator 1.25 シリーズ
MongoDB Enterprise Kubernetes Operator 1.25.0
リリース2024 - 04 - 30
重大な変更
MongoDBOpsManagerリソース。 Kubernetes演算子はMongoDB Ops Manager 5.0 のサポートを終了しました。 MongoDB Ops Managerの新しいバージョンにアップグレードします。 MongoDB Ops Manager5.0は引き続きKubernetes OperatorMongoDB で動作する可能性がありますが、Kubernetes MongoDB Ops Manager5.0は に対して Operator をテストしません。
新機能
MongoDBOpsManager リソース:MongoDB Ops Manager 複数の クラスターにKubernetes アプリケーションを配置するためのサポートを追加します。詳細については、「 複数のMongoDB Ops Manager Kubernetesクラスターでの リソースの配置 」を参照してください。
(パブリック プレビュー) MongoDB 、 OpsManagerリソース: すべてのタイプの配置向けにオプトイン静的コンテナ(パブリック プレビュー)を導入します。
このリリースでは、テスト目的でのみ静的コンテナを使用します。 静的コンテナは、今後の リリースでデフォルトになる可能性があります。
静的コンテナ モードを有効にするには、Kubernetes Operator レベルで
MDB_DEFAULT_ARCHITECTURE
環境変数をstatic
に設定します。 または、特定のMongoDB
またはOpsManager
のカスタム リソースにmongodb.com/v1.architecture: "static"
を使用して注釈を付けます。Kubernetes Operator は、静的アーキテクチャと非静的アーキテクチャ間のシームレスな移行をサポートします。 詳しくは、以下を参照してください。
OpsManagerリソース: Kubernetes Operator が使用するサービスをオーバーライドして、
OpsManager
リソース ホスト ポッドへの内部接続を確保するためにspec.internalConnectivity
フィールドを追加します。MongoDBリソース: シャーディングされたクラスターでオートメーション構成が中断された場合にリソースを回復できます。 以前のリリースでは、他のタイプのリソースは回復できましたが、シャーディングされたクラスターは回復できませんでした。 詳細については、「オートメーション構成が中断されたためのリソースの回復 」を参照してください。
MongoDB 、MongoDB MultiClusterリソース: これらのリソースを使用すると、外部サービスにプレースホルダーを追加できるようになります。
Kubernetes Operator によって管理される外部サービスに対して、適切な値に自動的に置き換えられるプレースホルダーを含む注釈 を定義できます。以前は、 Kubernetes Operator は、各ポッドに対して作成されたすべての外部サービスに対して同じ注釈を構成していました。 このリリース以降では、プレースホルダーを追加して、 Kubernetes Operator は、特定のポッドに関連する一意の値を使用して各サービスの注釈をカスタマイズできます。 詳しくは、以下を参照してください。
MongoDB
resource:spec.externalAccess.externalService.annotations
MongoDBMultiCluster
リソースspec.externalAccess.externalService.annotations
kubectl mongodb
プラグイン: プラグインを使用するときにビルド情報を出力できます。kubectl mongodb
プラグインのsetup
コマンド: registry.imagePullSecretsを追加 設定。 指定されている場合、作成されたサービス アカウントはimagePullSecrets
フィールドに指定されたシークレットを参照します。Kubernetes Operator が複数の名前空間を監視する場合、および Kubernetes Operator がリソースを監視する名前空間とは異なる名前空間に Kubernetes Operator をインストールする場合に、構成の処理が改善されます。
監視対象の名前空間ごとに正しく構成されたロールとロール バインディング(クラスター ロールは必要ありません)を持つ Kubernetes クラスターごとに 1 つのサービス アカウントを使用して、ノード Kubernetes クラスターでのロールと権限の設定を最適化します。
既存のイベントベースの調整プロセスを、 24時間ごとにトリガーされる時間ベースの調整により拡張します。 これにより、すべてのモニタリングエージェントが常に適時アップグレードされます。
OpenShift および ORM 演算子: クラスター全体の権限の必要性を排除します。 Previously, the Kubernetes Operator needed these permissions to configure admission webhooks. このリリース以降、Webhook は ORM によって自動的に構成されます 。
Kubernetes Operator の任意の
MDB_WEBHOOK_REGISTER_CONFIGURATION
環境変数を追加します。 変数は、Kubernetes Operator が自動許可 Webhook 構成を実行するかどうかを制御します。 デフォルトはtrue
です。 ORM と OpenShift の配置では、 変数はfalse
に設定されます。
Helm Chart のインストール変更
デフォルトの
agent.version
を107.0.0.8502-1
に変更します。 これにより、 Helm チャートを使用してインストールする Kubernetes Operator 配置で使用されるデフォルトのエージェントが変更されます。Kubernetes Operator バイナリに追加の引数を渡すことができるように、デフォルトの
[]
を持つoperator.additionalArguments
変数を追加します。MongoDB
とOpsManager
リソースのロールとサービス アカウントをインストールするかどうかを制御するために、デフォルトのtrue
を持つoperator.createResourcesServiceAccountsAndRoles
変数を追加します。kubectl mongodb
プラグインを使用して Kubernetes クラスターのマルチ配置用に Kubernetes Operator を構成すると、プラグインは必要なロールとサービス アカウントをすべてインストールします。 したがって、競合を避けるために、場合によっては Kubernetes Operator Helm チャートを使用してそれらのロールをインストールしない必要があります。
バグ修正
MongoDB MultiCluster リソース: Kubernetes Operator が、
spec.externalAccess.externalDomain
spec.clusterSpecList[*].externalAccess.externalDomains
フィールドと フィールドが使用されていないにもかかわらず必須であると報告する問題を修正します。Kubernetes Operator は、カスタム リソースに定義されたspec.externalAccess
構造が含まれている場合に、これらのフィールドの検証を早期にトリガーしました。 このリリース以降、Kubernetes Operator は、spec.externalAccess.externalDomain
またはspec.clusterSpecList[*].externalAccess.externalDomains
設定で外部ドメインを定義した場合にのみ、外部ドメインの一意性をチェックします。MongoDBリソース:
MongoDB
リソースを削除すると、関連するMongoDB Ops ManagerまたはCloud ManagerインスタンスにcontrolledFeature
ポリシーが設定されたままになり、 Kubernetes演算子が失われた場合に UI のクリーンアップが不可能になるバグを修正します。OpsManagerリソース:
OpsManager
カスタム リソースを削除するとadmin-key
シークレットが削除される問題を修正します。admin-key
シークレットの削除を修正すると、 MongoDB Ops Managerの再インストールが簡単になります。MongoDB Readiness Probe : Readness Probe の誤りが生じるエラー メッセージを修正しました:
"... kubelet Readiness probe failed:..."
。 これはすべての MongoDB 配置に影響します。演算子: 一部のインスタンスでは、TLS を有効にしていても、Kubernetes 演算子が TLS 演算子による TLS 検証をスキップするケースを修正し
OpsManager
。
改善点
Kubernetes プラグイン : リリースされた
kubectl mongodb
プラグイン バイナリは署名され、その署名は リリース アセット で公開されます 。公開鍵は、このアドレスで入手できます。 リリースされたkubectl mongodb
プラグイン バイナリも MacOS 向けに認証されています。リリースされたイメージは暗号化されています :Kubernetes Operator に対して公開されたすべてのコンテナ イメージは暗号化で署名されています。 これは MongoDB UI で確認できます。 レジストリ。MongoDB 公開鍵を使用して署名を検証できます。 リリースされたイメージは、このアドレスで入手できます。
MongoDB Enterprise Kubernetes Operator 1.24 シリーズ
MongoDB Enterprise Kubernetes Operator 1.24.0
リリース2023 - 12 - 21
MongoDBOpsManager Resource
新機能
次のMongoDB Ops Manager 7.0.x のサポートを追加します。 シリーズ。
バグ修正
バックアップが正しく終了しない問題を修正しました。
MongoDB Enterprise Kubernetes Operator 1.23 シリーズ
MongoDB Enterprise Kubernetes Operator 1.23.0
リリース日: 2023 年 11 月 13 日
警告と重大な変更
コンポーネント イメージのバージョン番号をKubernetes GoKubernetesOperator のリリース タグと整合させるため、どのイメージが Operator のどのバージョンに使用されるかが明確になり 。これは、次のイメージに影響します。
quay.io/mongodb/mongodb-enterprise-database-ubi
quay.io/mongodb/mongodb-enterprise-init-database-ubi
quay.io/mongodb/mongodb-enterprise-init-appdb-ubi
quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi
詳細については、「MongoDBEnterprise Kubernetes Operator kubernetes 」を参照してください および OCMongoDBEnterprise Kubernetes Operator インストール設定 と Helm のインストール設定
spec.exposedExternally
(Kubernetes Operator 1.19 では非推奨)をspec.externalAccess
に置き換えます。
バグ修正
ノードクラスターの接続が切れた場合に、複数の Kubernetes クラスター MongoDB 配置でレプリカセットをスケーリングする際の問題を修正します。 この修正では、手動と自動の両方のリカバリ手順に対処しています。
オートメーションエージェントと MongoDB 監査ログの名前を変更すると、Kubernetes ポッド ログに送信されなくなる問題を修正します。 Kubernetes Operator 1.22 以降、MongoDB 監査ログのファイル名に制限はありません。
mongodb-enterprise-database
コンテナから次の新しいログタイプを Kubernetes ログに直接ストリーミングできます。agent-launcher-script
monitoring-agent
backup-agent
spec.mongodbResourceRef.namespace
の名前空間セットにMongoDBUser
リソースを保存できない問題を修正します。
MongoDB Enterprise Kubernetes Operator 1.22 シリーズ
MongoDB Enterprise Kubernetes Operator 1.22.0
リリース日: 2023 年 09 月 21 日
重大な変更
Kubernetes 演算子は、すべてのカスタム リソースに対してReconciling
状態を使用しなくなりました。 ほとんどの場合、この状態はPending
と対応するメッセージに置き換えられました。 Kubernetes Operator に配置されたカスタム MongoDB リソースでモニタリング ツールを使用する場合は、 Pending
状態名を使用するようにダッシュボードとアラート ルールを調整する必要がある場合があります。
MongoDBOpsManager Resource
改善点
次の新しいフィールドを
MongoDBOpsManager
リソースに追加して、アプリケーション データベースの MongoDB Agent でlogRotateを構成するためのサポートを追加します。システムログを構成して、デフォルトの
/var/log/mongodb-mms-automation
ディレクトリ以外のカスタム ロケーションにログを送信するには、MongoDBOpsManager
リソースの次の新しいフィールドを使用します。マルチ Kubernetes クラスター MongoDB 配置でのアプリケーション データベース クラスターの処理が改善されます。
前回のリリースでは、 プロセスをスケールダウンするには、Kubernetes Operator による Kubernetes クラスターへの接続が必要でした。 これにより、クラスターが完全に停止して調整プロセスがブロックされる可能性があります。
このリリースでは、Kubernetes Operator は、プライマリを選出するために過半数の投票権がある限り、残りの正常なクラスターを正常に管理します。 Kubernetes Operator は、オートメーション構成とレプリカセット構成から関連するプロセスを削除しません。 Kubernetes Operator は、対応するクラスターを
spec.applicationDatabase.clusterSpecList
から削除するか、クラスター ノードの数を 0 に変更した場合にのみ、これらのプロセスを削除します。 Kubernetes Operator がこれらのプロセスを削除すると、そのクラスターに関連付けられたプロセスを 1 つずつ削除し、レプリカセットをスケールダウンします。
MongoDB
Resource
改善点
カスタム リソースが長期間にわたって
Pending
またはFailed
状態のままである場合のMongoDB
リソースの自動回復メカニズムを追加します。 さらに、次の環境変数を導入します。MongoDB
リソースの監査ログを Kubernetes Pod ログにルーティングできます。MongoDB
リソースの監査ログを/var/log/mongodb-mms-automation/mongodb-audit.log
ファイルに必ず書込むようにします。 リソースをホストしている ポッドはこのファイルを監視し、その内容を Kubernetes ログに追加します。監査ログを Kubernetes Pod ログに送信するには、
MongoDB
リソースで次の例の構成を使用します。spec: additionalMongodConfig: auditLog: destination: file format: JSON path: /var/log/mongodb-mms-automation/mongodb-audit.log Kubernetes Operator は、Ped ログ内の
mongodb-audit
キーを持つ監査ログ エントリをタグ付けします。監査ログ エントリを抽出するには、次の例のようなコマンドを使用します。
kubectl logs -c mongodb-enterprise-database replica-set-0 | \ jq -r 'select(.logType == "mongodb-audit") | .contents'
バグ修正
シャーディングされたクラスターでspec.backup.autoTerminateOnDeletion
設定をtrue
に設定できない問題を修正しました。 この設定は、MongoDB リソースを削除するときに Kubernetes Operator がバックアップを停止して終了するかどうかを制御します。 省略した場合、デフォルト値はfalse
です。
MongoDB Enterprise Kubernetes Operator 1.21 シリーズ
MongoDB Enterprise Kubernetes Operator 1.21.0
リリース日: 2023 年 08 月 25 日
重大な変更
環境変数の名前を
CURRENT_NAMESPACE
からNAMESPACE
に変更します。 この変数は、Kubernetes 演算子の名前空間を追跡します。MongoDB
リソースを編集してこの変数を設定している場合は、Kubernetes 演算子をアップグレードするときにCURRENT_NAMESPACE
をNAMESPACE
に更新します。
バグ修正
StatefulSet
オーバーライド ラベルがStatefulSet
をオーバーライドできない問題を修正します。
改善点
MongoDBMultiCluster
リソースのアプリケーション データベースと MongoDB のバックアップの構成をサポートします。GitOps 環境に
MongoDBMultiCluster
リソース配置を構成するためのドキュメントを追加します。 詳細については、「 GitOps のリソースの構成 」を参照してください。ラベルと注釈のラッパーである
MetadataWrapper
を、MongoDB
リソース、MongoDBMultiCluster
リソース、MongoDBOpsManager
リソースに追加します。 ラッパーはmetadata.Labels
とmetadata.Annotations
の上書きをサポートしています。
MongoDBOpsManager Resource
重大な変更と非推奨
appdb-ca
はMongoDB Ops Managerの JVM 信頼ストアに自動的に追加されることはありません。 は、appdb-ca
で指定された ConfigMap に保存されているspec.applicationDatabase.security.tls.ca
CA です。これは、次の場合に影響します。appdb-ca
とS3スナップショット ストアに同じカスタム証明書を使用する。Kubernetes Operator の 1.17.0 より前のバージョンを使用している場合、または独自のトラスト ストアをMongoDB Ops Managerにマウントしている場合
appdb-ca
とS3スナップショット ストアに同じカスタム証明書を使用する必要がある場合は、spec.backup.s3Stores.customCertificateSecretRefs
を使用して CA を指定します。spec.backup.s3Stores.customCertificate
とspec.backup.s3OpLogStores.customCertificate
設定を廃止します。 代わりにspec.backup.s3OpLogStores.customCertificateSecretRefs
とspec.backup.s3Stores.customCertificateSecretRefs
を使用してください。
バグ修正
spec.externalConnectivity.port
LoadBalancer
サービスタイプを使用してMongoDB Ops Manager を外部公開する場合に、 に任意のポート番号を設定できない問題を修正しました。MongoDB Ops ManagerKubernetesOperator が
appdb-ca
CA のバンドルである をMongoDB Ops Manager JVM 信頼ストアにインポートできるようにすることで、 が証明書を拒否する問題を修正します。
改善点
次の新しいフィールドを
MongoDBOpsManager
リソースに追加することで、複数の Kubernetes クラスターにわたって高可用性のアプリケーション データベースを使用してMongoDBOpsManager
リソースの構成をサポートします。新しい任意の
spec.applicationDatabase.topology
フィールドのデフォルト値はsingleCluster
で、値を省略した場合はこの値が使用されます。 Kubernetes Operator 1.21 にアップグレードするには、MongoDBOpsManager
リソースを更新する必要はありません。 これにより、spec.applicationDatabase.topology
設定の追加は、アプリケーション データベースの単一の Kubernetes クラスターの配置と下位互換性があります。 詳細については、「 MongoDB Ops Managerリソースの配置 」と「 MongoDB Ops Managerリソースの仕様 」を参照してください。リソースの }
spec.backup.s3Stores.customCertificateSecretRefs
フィールドと フィールドを使用して、 S3spec.backup.s3OpLogStores.customCertificateSecretRefs
スナップショット ストアにバックアップ用のカスタム証明書のリストを追加できます。MongoDBOpsManager