MongoDB Enterprise Kubernetes Operator Helm のインストール設定
項目一覧
- Agent.name
- appDb.name
- appDb.version
- database.name
- database.version
- initAppDb.name
- initAppDb.version
- initDatabase.name
- initDatabase.version
- initOpsManager.name
- initOpsManager.version
- ManagedSecurityContext
- mongodb.appdbAssumeOldFormat
- mongodb.imageType
- multiCluster.clusterClientTimeout
- namespace
- 必要 CAIn Infrastructure
- Operator.deployment_name
- Operator.env
- Operator.maxConcurrentReconsolves
- オペレーター.mdbDefaultアーキテクチャ
- Operator.name
- Operator.vaultSecretBackend.enabled
- Operator.vaultSecretBackend.tlsSecretRef
- Operator.version
- Operator.watchNamespace
- Operator.watchedResources
- opsManager.name
- registry.agent
- registry.appDb
- registry.imagePullSecrets
- registry.initAppDb
- registry.initOpsManager
- registry.operator
- registry.opsManager
- Operator.resources.requests
- Operator.resources.limit
- subresourceEnabled
- Webhook. InstallClusterRole
オプション設定を提供するには、 --set
引数を使用してそれを Helm に渡します。 配置タイプの値設定を一覧表示する次のファイルを使用します。
Vanilla Kubernetes: values.yaml
OpenShift: 値-openshift.YAML
任意の Kubernetes Operator インストール設定の詳細については、「 Operator Helm のインストール設定 」を参照してください。
次の例のように コマンドを実行し、指定したオプションが構成に渡されます。
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
Agent.name
MongoDB Agent イメージの名前。 この設定は registry.agent に追加され、 MDB_AGENT_IMAGE_REPOSITORY 環境変数を、ステートメントが実行されるステートメントが実行される完全な URL に設定され ます 。 は、データベース配置用の MongoDB Agent イメージをダウンロードします。詳細については、「コンテナ イメージ 」を参照してください。
デフォルト値はmongodb-agent-biです。
agent: name: mongodb-agent-ubi
appDb.name
アプリケーション データベース イメージの名前。
デフォルト値はmongodb-enterprise-appdbです。
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
appDb.version
アプリケーション データベースが使用する MongoDB Agent を含むイメージのバージョン。
デフォルト値は 10.2.15.5958-1_4.2.11-ent です。
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
database.name
MongoDB Enterprise Database イメージの名前。
デフォルト値はmongodb-enterprise-databaseです。
database: name: mongodb-enterprise-database version: 1.29
database.version
Kubernetes Operator が配置する MongoDB Enterprise Database イメージのバージョン。
database: name: mongodb-enterprise-database version: 1.29
initAppDb.name
アプリケーション データベースの起動スクリプトと準備完了シグナルを含むinitContainer
イメージの名前。
デフォルト値はmongodb-enterprise-init-appdbです。
database: name: mongodb-enterprise-init-appdb version: 1.29
initAppDb.version
アプリケーション データベースの起動スクリプトと準備完了センサーを含むinitContainer
イメージのバージョン。
デフォルト値は1.29です。
database: name: mongodb-enterprise-init-appdb version: 1.29
initDatabase.name
MongoDB Agent の起動スクリプトと準備完了プロセスを含むinitContainer
イメージの名前。
デフォルト値はmongodb-enterprise-init-databaseです。
database: name: mongodb-enterprise-init-database version: 1.29
initDatabase.version
MongoDB Agent の起動スクリプトと準備完了プロセスを含むinitContainer
イメージのバージョン。
デフォルト値は1.29です。
database: name: mongodb-enterprise-init-database version: 1.29
initOpsManager.name
MongoDB Ops Manager の起動スクリプトと準備状況検証を含むinitContainer
イメージのバージョン。
デフォルト値はmongodb-enterprise-init-ops-managerです。
database: name: mongodb-enterprise-init-ops-manager version: 1.29
initOpsManager.version
MongoDB Ops Manager の起動スクリプトと準備状況検証を含むinitContainer
イメージのバージョン。
デフォルト値は1.29です。
database: name: mongodb-enterprise-init-ops-manager version: 1.29
ManagedSecurityContext
Kubernetes Operator が、Kubernetes クラスターが管理するsecurityContext設定を継承するかどうかを決定するフラグです。
OpenShift または制限された環境で Kubernetes Operator を実行する場合は、この値はtrueである必要があります。
デフォルト値はfalseです。
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: false
デフォルト値はtrueです。
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: true
mongodb.appdbAssumeOldFormat
Kubernetes Operator1.20 では、 コンテナ レジストリ アプリケーション データベース イメージの が変更され、イメージでは新しいタグサフィックスが使用されます。Kubernetes Operator をアップグレードすると、Kubernetes Operatorは、新しいコンテナ レジストリを参照するすべてのイメージの以前のサフィックス-ent
を、 -ubi8
または MDB_イメージ_タイプ またはmongodb.imageTypeのサフィックス セットに自動的に更新します。
たとえば、Kubernetes 演算子はquay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
をquay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
に変更します。
Kubernetes Operator がサフィックスの自動更新を停止するには、 MDB_OPDB_ASSUME_ old_formatまたはmongodb.appdbAssumeOldFormatをtrue
に設定します。 たとえば、このイメージを自分のリポジトリからミラーリングする場合は、接尾辞の自動変更を停止する必要があるかもしれません。
デフォルト値はfalse
で、イメージのサフィックスが自動的に更新されます。
mongodb: appdbAssumeOldFormat: false
mongodb.imageType
アプリケーション データベースイメージのサフィックス。
Kubernetes Operator1.20 では、 コンテナ レジストリ アプリケーション データベース イメージの が変更され、イメージでは新しいタグサフィックスが使用されます。Kubernetes Operator をアップグレードすると、Kubernetes Operatorは、新しいコンテナ レジストリを参照するすべてのイメージの以前のサフィックス-ent
を、 -ubi8
または MDB_イメージ_タイプ またはmongodb.imageTypeのサフィックス セットに自動的に更新します。
たとえば、Kubernetes 演算子はquay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
をquay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
に変更します。
Kubernetes Operator がサフィックスの自動更新を停止するには、 MDB_OPDB_ASSUME_ old_formatまたはmongodb.appdbAssumeOldFormatをtrue
に設定します。 たとえば、このイメージを自分のリポジトリからミラーリングする場合は、接尾辞の自動変更を停止する必要があるかもしれません。
デフォルトはubi8
です。 整合性のためにubi
イメージのみを使用することを推奨していますが、必要に応じてこの設定をubuntu2204
に変更できます。
mongodb: imageType: ubi8
multiCluster.clusterClientTimeout
Kubernetes Operator がクラスターの Kubernetes API サーバー に接続しようとする時間(秒単位) エンドポイント。このタイムアウトは、マルチ Kubernetes クラスター MongoDB 配置内のすべての Kubernetes クラスターに設定されています。 Kubernetes Operator が指定された時間内に Kubernetes API サーバーからの応答を受け取らない場合、Kubernetes Operator はクラスターのステータスを「非正常」としてログに記録します。 詳しくは、 「 Kubernetes クラスターのトラブルシューティング 」を参照してください。
デフォルト値は10です。
multiCluster: clusterClientTimeout: 10
namespace
名前空間 に Kubernetes Operator を配置します。
デフォルト以外の名前空間を使用するには、Kubernetes Operator を配置する名前空間を指定します。
デフォルト値はMongoDBです。
# Name of the Namespace to use namespace: mongodb
必要 CAIn Infrastructure
Kubernetes が ClusterRole を作成するかどうかを決定します これにより、Kubernetes Operator は、 Certificates.k8 s.io を使用して TLS 証明書に署名できます。API。
needsCAInfrastructure: true
デフォルト値はtrueです。
Operator.deployment_name
Kubernetes Operator コンテナの名前。
デフォルト値はmongodb-enterprise-operatorです。
operator: deployment_name: mongodb-enterprise-operator
Operator.env
Kubernetes Operator 配置環境のラベル。 この値は、デフォルトのタイムアウトとログのレベルと形式に影響します。
値が の場合 | ログレベル は に設定されています | ログ形式 は に設定されています |
---|---|---|
dev | debug | text |
prod | info | json |
デフォルト値はProdです。
operator: # Execution environment for the operator, dev or prod. # Use dev for more verbose logging env: prod
Operator.maxConcurrentReconsolves
Kubernetes Operator が実行できる同時調整の最大数。 MaxConcurrentReconsolves を設定する 。詳細については、「 Kubernetes Operator が複数の MongoDB レプリカセットを配置する 」を参照してください。
例
operator: # Control how many reconciles can be performed in parallel. # Increasing the number of concurrent reconciliations decreases the time needed to reconcile all watched resources, # but it might result in request load spikes and increased load on the Ops Manager API, and the Kubernetes API server generally. maxConcurrentReconciles: 10
オペレーター.mdbDefaultアーキテクチャ
すべての配置で使用されるコンテナ アーキテクチャを決定します。
実行時に MongoDB バイナリをダウンロードするデフォルトの非静的コンテナ、または
実行時に不変である静的コンテナ(パブリック プレビュー) 。
デフォルトは non-static
です。
静的コンテナを有効にするには、 をstatic
に設定します。
注意
この設定は、既存の配置を含むすべての配置に適用されます。 単一配置で静的コンテナを有効にするには、代わりにmetadata.annotations.mongodb.com/v1.architecture
MongoDB リソース で を使用します。
operator.mdbDefaultArchitecture: static
Operator.name
Kubernetes が Kubernetes Operator オブジェクトに割り当てる名前(配置、サービスアカウント、ロール、ポッドなど)。
この値は、Kubernetes Operator が配置されるコンテナ レジストリの名前にも対応します。
デフォルト値はmongodb-enterprise-operatorです。
operator: name: mongodb-enterprise-operator
Operator.vaultSecretBackend.enabled
Kubernetes Operator が HashiCorp Vault にシークレットを保存するかどうかを決定します 。詳しくは、「シークレット ストレージ ツールの設定」を参照してください。 Vault でTLSを使用している場合は、 Operator.vaultSecretBackend.tlsSecretRef も指定する必要があります。
デフォルト値はfalseです。
operator: # Set the following setting to "true" so that the MongoDB Kubernetes Operator stores secrets in Vault. vaultSecretBackend: false
Operator.vaultSecretBackend.tlsSecretRef
Vault でTLSを使用している場合は必須です。 ca.crt
エントリを含む Vault 構成で使用される TLS シークレット。 ca.crt
エントリの内容は、Vault TLS 証明書の生成に使用されるCAの証明書と一致する必要があります。 Kubernetes Operator は、この TLS シークレットを シークレット ストレージ ツールに保存します。 詳しくは、「シークレット ストレージの構成 」を参照してください。 Operator.vaultSecretBackend.enabledがtrue
に設定されている必要があります。
operator: vaultSecretBackend: true tlsSecretRef: "vault-tls-secret"
Operator.version
配置する Kubernetes Operator のバージョン。
デフォルト値は1.29です。
operator: version: 1.29
Operator.watchNamespace
Kubernetes Operator がMongoDB
リソースの変更を監視する名前空間。 この 名前空間の 場合 デフォルトとは異なります。Kubernetes Operator ServiceAccount がアクセスできること を確認します。 この名前空間。
すべての名前空間 を監視するには、 * を指定し、 ClusterRole を割り当てます
mongodb-enterprise-operator
Kubernetes Operator の実行に使用する ServiceAccount に設定します。すべての 名前空間 のサブセットを監視するには、カンマ区切りのリストで指定し、各カンマをバックスラッシュでエスケープし、リストを引用符で囲みます(例:
"operator.watchNamespace=ns1\,ns2"
。
名前空間のサブセットを監視すると、単一の Kubernetes Operator インスタンスが異なるクラスター リソース タイプを監視する配置に役立ちます。 たとえば、Kubernetes Operator を構成して、名前空間の 1 つのサブセット内のMongoDB
リソースを監視し、名前空間の別のサブセット内のMongoDBMultiCluster
リソースを監視するようにできます。 リソース調整中に競合状態を回避するには、Kubernetes Operator で監視するカスタム リソース タイプごとに、スコープを名前空間の個別のサブセットに設定していることを確認してください。
重要
MongoDB Ops Manager とMongoDB
リソースを 1 つ以上の 名前空間 に配置する Kubernetes Operator を配置する場所以外では、使用する必要がある値や実行が必要になる追加の手順については、「 MongoDB Enterprise Kubernetes Operator 配置のスコープの設定 」を参照してください。
デフォルト値は<metadata.namespace>です。
# Watch one namespace helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace='namespace-to-watch' <...>
# Watch both namespace-a and namespace-b helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace="namespace-a\,namespace-b"
# Operator with name `mongodb-enterprise-operator-qa-envs` will # watch ns-dev, ns-qa and ns-uat namespaces helm install mongodb-enterprise-operator-qa-envs mongodb/enterprise-operator \ --set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"
# Operator with name `mongodb-enterprise-operator-staging` will # watch ns-staging and ns-pre-prod helm install mongodb-operator helm-chart --set operator.watchNamespace="ns-staging\,ns-pre-prod" mongodb-enterprise-operator-staging
Operator.watchedResources
Kubernetes Operator が監視するカスタム リソース。
Kubernetes Operator は CustomResourceDefinitions をインストールします の と では、指定したリソースのみが監視されます。
Kubernetes 演算子は次の値を受け入れます。
値 | 説明 |
---|---|
mongodb | データベース リソースの CustomResourceDefinitions をインストールし、それらのリソースを監視します。 |
mongodbusers | MongoDB ユーザー リソース用に CustomResourceDefinitions をインストールし、それらのリソースを監視します。 |
opsmanagers | MongoDB Ops Managerリソース用の CustomResourceDefinitions をインストールし、それらのリソースを監視します。 |
operator: watchedResources: - mongodbusers - mongodb - opsmanagers
opsManager.name
MongoDB Ops Managerイメージの名前。
デフォルト値はmongodb-enterprise-ops-managerです。
opsManager: name: mongodb-enterprise-ops-manager
registry.agent
四半期 の URL MongoDB イメージのコンテナ レジストリ。Agent.name が追加され、 MDB_AGEN_ IMAGE_REPOSITORY 環境変数が、ステートメントが実行される完全な URL に設定されます。 は、データベース配置用の MongoDB Agent イメージをダウンロードします。詳細については、「コンテナ イメージ 」を参照してください。
デフォルト値はqui.io/mongodbです。
registry: agent: quay.io/mongodb/
registry.appDb
Kubernetes Operator が アプリケーション データベース イメージをダウンロードするリポジトリのURL 。
デフォルト値はqui.io/mongodbです。
registry: appDb: quay.io/mongodb
デフォルト値はregistry.connect.redhat.com/mongodbです。
registry: appDb: registry.connect.redhat.com/mongodb
registry.imagePullSecrets
secret これには、リポジトリからイメージをプルするのに必要な認証情報が含まれています。
重要
OpenShift では、この設定が必要です。 このファイルのimagePullSecrets
設定で定義するか、 Helm を使用して Kubernetes Operator をインストールするときに渡します。 Kubernetes Operator を使用して MongoDB リソースを複数の名前空間またはクラスター全体の スコープで配置する場合は、Kubernetes Operator をインストールした名前空間にのみシークレットを作成します。 Kubernetes Operator は、監視対象のすべての名前空間にわたってシークレットを同期します。
registry: # Specify the secret in the ``imagePullSecrets`` setting. If you # use the MongoDB Kubernetes Operator to deploy MongoDB resources # into multiple namespaces, create the secret only in the namespace # where you installed the Operator. The Operator synchronizes # the secret across all watched namespaces. imagePullSecrets: <openshift-pull-secret>
registry.initAppDb
アプリケーション データベースの起動スクリプトと準備完了プロセスを含むinitContainer
イメージがダウンロードされるリポジトリのURL 。
デフォルト値はqui.io/mongodbです。
registry: initAppDb: quay.io/mongodb
デフォルト値はregistry.connect.redhat.com/mongodbです。
registry: initAppDb: registry.connect.redhat.com/mongodb
registry.initOpsManager
MongoDB Ops Manager の起動スクリプトと準備完了プロセスを含むinitContainer
イメージがダウンロードされるリポジトリのURL 。
デフォルト値はqui.io/mongodbです。
registry: initOpsManager: quay.io/mongodb
デフォルト値はregistry.connect.redhat.com/mongodbです。
registry: initOpsManager: registry.connect.redhat.com/mongodb
registry.operator
Kubernetes Operator イメージがプルされるリポジトリ。 プライベート リポジトリから Kubernetes Operator イメージをプルする場合は、この値を指定します。
デフォルト値はqui.io/mongodbです。
registry: operator: quay.io/mongodb
デフォルト値はregistry.connect.redhat.com/mongodbです。
registry: operator: registry.connect.redhat.com/mongodb
registry.opsManager
MongoDB Ops Manager リソース のイメージがダウンロードされるリポジトリの URL 。
デフォルト値はqui.io/mongodbです。
registry: opsManager: quay.io/mongodb
デフォルト値はregistry.connect.redhat.com/mongodbです。
registry: opsManager: registry.connect.redhat.com/mongodb
Operator.resources.requests
CPU とメモリの消費制限 の仕様 Kubernetes 演算子の
例
# operator cpu requests and limits resources: requests: cpu: 500m memory: 200Mi
Operator.resources.limit
CPU とメモリの消費制限 の仕様 Kubernetes 演算子の
例
# operator cpu requests and limits resources: limits: cpu: 1100m memory: 1Gi
subresourceEnabled
Kubernetes Operator CustomResourceDefinition でサブリソースを定義できるかどうかを示すフラグ 。
デフォルト値はtrueです。
subresourceEnabled: true
Webhook. InstallClusterRole
フラグを付けると、ユーザーが 検証する認証 Webhook を構成できます (Kubernetes クラスター ロール 用) 。
配置で Kubernetes クラスター ロールが許可されていない場合は、このフラグをfalse
に設定します。
デフォルト値はtrueです。
webhook: installClusterRole: false