AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB Ops Managerリソース仕様

MongoDB Controls for Kubernetes Operator は、書き込んだ仕様ファイルからコンテナ化されたMongoDB Ops Manager配置を作成します。

MongoDB Ops Managerリソース仕様を作成または更新したら、この仕様をKubernetes環境に適用するようにMongoDB Controls for Kubernetes Operator に指示します。 Kubernetes Operator は、 MongoDB Ops Manager に必要なサービスとカスタムKubernetesリソースを作成し、 MongoDB Ops Managerとそのバッキング アプリケーション データベースをKubernetes環境のコンテナに配置します。

MongoDB Ops Manager の各リソースは、 YAML のオブジェクト仕様を使用して、配置の特性と設定を定義します。

次の例は、 MongoDB Ops Manager配置のリソース仕様を示しています。

1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: om
5spec:
6 topology: SingleCluster # optional, SingleCluster by default
7 opsManagerURL: https://link.to.configured.load-balancer.example.com # optional OM URL for the operator
8replicas: 1
9version: "8.0.0"
10 adminCredentials: ops-manager-admin-secret
11 configuration:
12 mms.fromEmailAddr: admin@example.com
13 mms.security.allowCORS: "false"
14 security:
15 tls:
16 ca: issuer-ca
17 backup:
18 enabled: true
19 encryption:
20 kmip:
21 server:
22 url: kmip.corp.mongodb.com:5696
23 ca: mongodb-kmip-certificate-authority-pem
24 headDB:
25 storage: "30Gi"
26 labelSelector:
27 matchLabels:
28 app: my-app
29 opLogStores:
30 - name: oplog1
31 # Sets labels for the oplog store.
32 assignmentLabels: ["test1", "test2"]
33 mongodbResourceRef:
34 name: my-oplog-db
35 mongodbUserRef:
36 name: my-oplog-user
37 s3Stores:
38 - name: s3store1
39 # Sets labels for the S3 store.
40 assignmentLabels: ["test1", "test2"]
41
42 mongodbResourceRef:
43 name: my-s3-metadata-db
44 mongodbUserRef:
45 name: my-s3-store-user
46 s3SecretRef:
47 name: my-s3-credentials
48 pathStyleAccessEnabled: true
49 s3BucketEndpoint: s3.region.amazonaws.com
50 s3BucketName: my-bucket
51 applicationDatabase:
52 passwordSecretKeyRef:
53 name: om-db-user-secret
54 key: password
55 members: 3
56 topology: SingleCluster
57 version: "7.0.21-ubi8"
58 featureCompatibilityVersion: "6.0" # During upgrade, set this FCV value to your currently deployed AppDB version.
59 security:
60 certsSecretPrefix: appdb
61 tls:
62 ca: issuer-ca
1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: om
5spec:
6 topology: MultiCluster # optional, SingleCluster by default
7 opsManagerURL: https://link.to.configured.lb.example.com # optional OM URL for the operator
8 clusterSpecList: # optional ClusterSpecOMItem list, the type is different than ClusterSpecItem for AppDB and MongoDB
9 - clusterName: cluster-1 # required
10 replicas: 1 # required, OM application replicas
11 # optional parameters to override those defined at MongoDBOpsManager level
12 clusterDomain: cluster-1.example.com # optional, default cluster.local
13 jvmParameters: ["-Xmx4352m","-Xms4352m"]
14 externalConnectivity: # optional to override
15 type: LoadBalancer
16 port: 9090
17 annotations:
18 key: value
19 statefulSet: # StatefulSetSpecWrapper override
20 spec: {}
21 metadata: {}
22 configuration:
23 automation.versions.source: mongodb
24 mms.adminEmailAddr: cloud-manager-support@mongodb.com
25 backup: # MongoDBOpsManagerBackup, optional, we only support a subset of fields
26 members: 1 # backup daemon replicas, optional, default=1
27 assignmentLabels: [] # assignment labels to override
28 jvmParameters: ["-Xmx4352m","-Xms4352m"] # optional
29 statefulSet: # mdbc.StatefulSetConfiguration, optional to override for backup daemon
30 spec: {}
31 metadata: {}
32 - clusterName: cluster-2
33 replicas: 1
34
35 ....
36
37replicas: 1
38 version: "8.0.0"
39 adminCredentials: ops-manager-admin-secret
40 configuration:
41 mms.fromEmailAddr: admin@example.com
42 mms.security.allowCORS: "false"
43 backup:
44 enabled: true
45 encryption:
46 kmip:
47 server:
48 url: kmip.corp.mongodb.com:5696
49 ca: mongodb-kmip-certificate-authority-pem
50 headDB:
51 storage: "30Gi"
52 labelSelector:
53 matchLabels:
54 app: my-app
55 opLogStores:
56 - name: oplog1
57 # Sets labels for the oplog store.
58 assignmentLabels: ["test1", "test2"]
59 mongodbResourceRef:
60 name: my-oplog-db
61 mongodbUserRef:
62 name: my-oplog-user
63 s3Stores:
64 - name: s3store1
65 # Sets labels for the S3 store.
66 assignmentLabels: ["test1", "test2"]
67
68 mongodbResourceRef:
69 name: my-s3-metadata-db
70 mongodbUserRef:
71 name: my-s3-store-user
72 s3SecretRef:
73 name: my-s3-credentials
74 pathStyleAccessEnabled: true
75 s3BucketEndpoint: s3.region.amazonaws.com
76 s3BucketName: my-bucket
77 security:
78 tls:
79 ca: issuer-ca
80 applicationDatabase:
81 passwordSecretKeyRef:
82 name: om-db-user-secret
83 key: password
84 version: "8.0.0-ubi8"
85 topology: MultiCluster
86 clusterSpecList:
87 - clusterName: cluster1.example.com
88 members: 4
89 - clusterName: cluster2.example.com
90 members: 3
91 - clusterName: cluster3.example.com
92 members: 2
93 security:
94 certsSecretPrefix: appdb
95 tls:
96 ca: issuer-ca

このセクションでは、すべてのMongoDB Ops Managerリソースに使用する必要がある設定について説明します。

apiVersion

: string

必須。 MongoDB Kubernetes リソース スキーマのバージョン。

kind

: string

必須。 作成する MongoDB Kubernetes リソースの種類。 これをMongoDBOpsManagerに設定します。

metadata.name

: string

必須。 作成している MongoDB Kubernetes リソースの名前。

リソース名は 44 文字以下にする必要があります。

spec.version

: string

必須。 この リソースにインストールする のバージョン。MongoDB Ops ManagerMongoDBKubernetes

spec.adminCredentials

: string

必須。 Kubernetes シークレット の名前 MongoDB Ops Manager 管理ユーザー用に作成したMongoDB Ops Managerリソースを配置すると、 Kubernetes Operator によってこれらの認証情報を持つユーザーが作成されます。

注意

Kubernetes の単一クラスター配置でシークレットが保存されないようにするには、 すべてのシークレットシークレットストレージツールに移行 します。複数のKubernetesクラスターでの配置では、HashiCorp Vault などのシークレットストレージツールへのシークレットの保存はサポートされていません。

管理者ユーザーには、グローバル所有者ロールが付与されます。

spec.replicas

タイプ: 整数

条件付き。並行して実行する Ops Manager インスタンスの数。SingleClusterspec.topology を指定する場合、このパラメータは必須です。最小許容値は です。1

MultiClusterspec.topology を指定すると、このパラメータは無視されます。

MongoDB Ops Manager リソースでは、次の設定も使用できます。

spec.backup.fileSystemStores

: string

ファイルシステム読み取りを識別する名前。詳しくは、Kubernetes 演算子を使用したファイル システム バックアップ保存の構成を参照してください。

spec.backup.logging.LogBackAccessRef

: string

MongoDB Ops Managerバックアップ ログを構成するためのカスタム logback-access.xml ファイルを含む ConfigMap への参照。

ConfigMap のキーは、 MongoDB Ops Managerポッド内のデフォルトの ファイルを置き換えるために、logback-access.xml の名前と完全に一致する必要があります。

詳しくは、「 CRD を使用してMongoDB Ops Managerログを構成する 」を参照してください。

spec.backup.logging.LogBackRef

: string

Reference to a ConfigMap that contains a custom logback.xml file. このファイルは、ログ ローテーション ポリシー、ログ レベル、およびその他のロギング パラメーターを含む、 MongoDB Ops Managerバックアップの一般的なログ動作を構成します。

ConfigMap のキーは、 MongoDB Ops Managerポッド内のデフォルトの ファイルを置き換えるために、logback-access.xml の名前と完全に一致する必要があります。 詳しくは、「 CRD を使用してMongoDB Ops Managerログを構成する 」を参照してください。

spec.logging.LogBackAccessRef

: string

MongoDB Ops Managerログを構成するためのカスタム logback-access.xml ファイルを含む ConfigMap への参照。

ConfigMap のキーは、 MongoDB Ops Managerポッド内のデフォルトの ファイルを置き換えるために、正確に logback-access.xml である必要があります。

詳しくは、「 CRD を使用してMongoDB Ops Managerログを構成する 」を参照してください。

spec.logging.LogBackRef

: string

カスタムlogback.xmlファイルを含むコンフィギュレーションマップへの参照。 このファイルは、ログ ローテーション ポリシー、ログ レベル、およびその他のログ パラメーターを含む、 MongoDB Ops Managerの一般的なログ動作を構成します。

ConfigMap のキーは、 MongoDB Ops Managerポッド内のデフォルトの ファイルを置き換えるために、正確に logback.xml である必要があります。

詳しくは、「 CRD を使用してMongoDB Ops Managerログを構成する 」を参照してください。

注意

Ops Manager ダッシュボードが生成するファイルのサイズが、emptyDir ボリュームで使用可能なストレージ容量よりも大きい場合は、ポッドのクラッシュを防ぐために、emptyDir ボリュームを永続ボリュームでオーバーライドすることを検討してください。詳しくは、spec.statefulSet.spec.template.spec.volumes を参照してください。

spec.opsManagerURL

: string

任意。 Kubernetes Operator 内の MongoDB Ops Manager リソースの URL(例: https://link.to.configured.lb.example.com

  • このパラメータを省略すると、MongoDB Ops Manager インスタンスに接続するために、Kubernetes Operator は MongoDB Ops Manager インスタンスのデフォルトとして次の URL を使用します: <om-name>-svc.{namespace}.svc.cluster.local 。 これは、MongoDB Ops Manager のヘッドレス サービスのFQDNです。

  • このパラメータを指定すると、この URL を別の URL に変更できるようになります。

注意

アプリケーション データベースのMongoDB配置とモニタリングエージェントを構成するために、特定の配置のspec.opsManagerURL ConfigMap で指定するURLと を混同しないでください。 Kubernetes Operatorspec.opsManagerURL は、Ops Manager インスタンスに直接接続し、Ops Manager とアプリケーション データベースの配置を構成するために が必要です。 Kubernetes演算子は、特定のMongoDBデータベースを管理するためにspec.opsManagerURL を使用しません。

spec.opsManagerURL次の場合は、 パラメータをカスタムURLに変更します。

  • MongoDB Ops Managerを複数のKubernetes クラスターにわたって配置しており、 のホスティングURL MongoDB Ops Managerポッドからデフォルト にアクセスできない場合。たとえば、MongoDB Ops Manager KubernetesKubernetesOperator を配置するクラスター以外の クラスターに配置する場合、MongoDB Ops Manager サービスの FQDN にアクセスできない可能性があります。この場合は、カスタム URL を指定できます。

  • 外部ドメイン上の MongoDB Ops Manager インスタンスへの外部アクセスを構成する場合は、カスタム URL を指定できます。 これには、Kubernetes Operator とアプリケーション データベースのモニタリングエージェントも、デフォルトではなくこのカスタム URL を使用する必要があります。

spec.clusterDomain

: string

Kubernetes は各ポッドに FQDN を割り当てます。 Kubernetes演算子は、提供された clusterDomain を使用して各ポッドの FQDN を計算します。 Kubernetes、これらのホスト名をクエリするためのAPIは提供されていません。

spec.clusterName

重要

spec.clusterName は非推奨

代わりに spec.clusterDomain を使用してください。

: string

Kubernetes は各ポッドに FQDN を割り当てます。 Kubernetes演算子は、提供された clusterName を使用して各ポッドの FQDN を計算します。 Kubernetes、これらのホスト名をクエリするためのAPIは提供されていません。

spec.configuration

タイプ: コレクション

MongoDB Ops Manager の構成プロパティプロパティ名と説明については、「 Ops Manager の構成設定 」を参照してください。各プロパティはstring 型の値を受け取ります。

重要

MongoDB Ops Manager が、配置先の Kubernetes クラスターの外部に配置された MongoDB リソースを管理する場合は、 mms.centralUrl設定をspec.configurationに追加する必要があります。

URLMongoDB Ops ManagerがKubernetes クラスターの外部で公開される に値を設定します。

詳細については、「外部 MongoDB デプロイの管理 」を参照してください。

spec.configuration.mms.featureFlag.automation.verifyDownloads

: string

enabledに設定されている場合、MongoDB Agent は、MongoDB Ops Manager インスタンスが管理するすべての MongoDB 配置の署名ファイルを必要とします。

このオプションを有効にして MongoDB Agent をアップグレードすると、MongoDB Agent の現在のバージョンに新しい MongoDB Agent バイナリの署名ファイルが必要になります。

詳しくは、「 MongoDB 署名の検証 」を参照してください。

spec.configuration.mms.featureFlag.backup.queryable

タイプ: ブール値

クエリ可能なバックアップを無効にするには、 をfalseに設定します。

spec.configuration.mms.featureFlag.backup.wt.queryable

タイプ: ブール値

WiredTiger を使用する際にクエリ可能なバックアップを無効にするには、 をfalseに設定します。

spec.configuration.mms.mongoDbUsage.defaultUsageType

: string

Kubernetes サービスのデフォルトのサーバータイプ。

指定可能な値は、 PRODUCTION_SERVERTEST_SERVERDEV_SERVERRAM_POOLです。

spec.jvmParameters

タイプ: 文字列の配列

任意。コンテナ内の Ops Manager アプリケーションに渡されるJVMパラメータ。指定されたすべてのパラメーターは、Ops Manager アプリケーションのデフォルトのJVMパラメーターを置き換えます。

この Kubernetes Operator パラメーターのデフォルトは空のリストです。

spec:
jvmParameters: ["-XX:+HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/tmp"]

重要

JVM メモリ ヒープの値は自分のリスクで変更

Kubernetes Operator は、コンテナのメモリに基づいて Ops Manager アプリケーションのJVMメモリ ヒープ値を計算します。 -Xms-Xmx の値を変更すると、MongoDB Ops Manager で問題が発生する可能性があります。

spec.security.certsSecretPrefix

: string

Kubernetes シークレット のプレフィックスに適用するテキスト MongoDB Ops Manager の TLS キーと証明書を含む を作成した

シークレットには<prefix>-<metadata.name>-certという名前を付ける必要があります。

MongoDB Ops ManagerインスタンスをHTTPS 経由で実行するように構成する方法については、「 MongoDB Ops Managerリソースの配置 」を参照してください。

spec.security.tls.ca

KubernetesConfigMap の名前 のカスタム CA MongoDB Ops Managerファイルが含まれています。

重要

カスタム CA を使用して Ops Manager TLS 証明書に署名する場合は、spec.security.tls.ca が必要です。

Kubernetes Operator では、ConfigMap でMongoDB Ops Managerリソース mms-ca.crt の証明書に名前を付ける必要があります。

このCAは、次の証明書に署名します。

  • クライアントが を使用して MongoDB Ops Manager アプリケーションに接続する、

  • アプリケーション データベース ポッド 内のエージェントは、 MongoDB Ops Managerと通信するために使用します。

警告

アプリケーションデータベースが再起動した場合に Ops Manager が操作不能になるのを防ぐために、カスタム CAファイルと TLS 証明書チェーン全体を downloads.mongodb.com から連結する必要があります。

spec.security.tls.enabled

重要

spec.security.tls.enabled は非推奨であり、将来のリリースで削除される予定です。 TLS を有効にするには、spec.security.certsSecretPrefix 設定の値を指定します。

TLS証明書を使用して、クライアントとMongoDB Ops Manager間の通信を暗号化します。

spec.statefulSet.spec

タイプ: コレクション

MongoDB Controls for Kubernetes Operator が MongoDB Ops Manager 用に作成するステートフルセットの仕様。

spec.statefulSet.specに追加できるフィールドを確認するには、 Kubernetesドキュメントの「 StateftSetSpec v1 アプリ 」を参照してください。

spec.statefulSet.spec.template

タイプ: コレクション

MongoDB Controls for Kubernetes Operator が Ops Manager 用に作成するステートメントセット内のKubernetesポッドのテンプレート。

spec.statefulSet.spec.template.metadata

タイプ: コレクション

MongoDB Controls for Kubernetes Operator がMongoDB Ops Manager用に作成するステートメントセット内のKubernetesポッドのメタデータ。

spec.statefulSet.spec.template.metadataに追加できるフィールドを確認するには、 Kubernetes のドキュメント を参照してください。

spec.statefulSet.spec.template.spec

タイプ: コレクション

MongoDB Controls for Kubernetes Operator がMongoDB Ops Manager用に作成するステートメントセット内のKubernetesポッドの仕様。

spec.statefulSet.spec.template.specに追加できるフィールドの完全なリストを確認するには、 Kubernetes のドキュメント を参照してください。

次の例では、spec.statefulSet.spec.template.spec は、 Kubernetes演算子用のMongoDB MongoDB Ops Managerコンテナの最小と最大の CPU とメモリキャパシティーを定義します。

Tip

Ops Manager コンポーネントを**実行する**ホストするのハードウェア、ソフトウェア、およびネットワーク要件の詳細については、Ops Manager ドキュメントの「Ops Manager システム要件」を参照してください。

statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-ops-manager
resources:
requests:
cpu: "4"
memory: "16Gi"
limits:
cpu: "8"
memory: "32Gi"
spec.statefulSet.spec.template.spec.containers

タイプ: コレクション

MongoDB Controls for Kubernetes Operator が MongoDB Ops Manager 用に作成するステートメントセット内のKubernetesポッドに属するコンテナのリスト。

MongoDB Ops Managerコンテナの仕様を変更するには、次の例に示すように、name フィールドを使用してコンテナの正確な名前を指定する必要があります。

backup:
statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-ops-manager

注意

spec.statefulSet.spec.template.spec.containersにコンテナを追加すると、Kubernetes Operator はそれらを Kubernetes ポッドに追加します。 これらのコンテナは、ポッド内のMongoDB Ops Managerコンテナに追加されます。

spec.statefulSet.spec.template.spec.containers.resources.requests.cpu

: string

Kubernetes ノード で使用可能である必要がある最小 CPU 容量 は、MongoDB Ops Manager をホストします。

リクエスト値はspec.statefulSet.spec.template.spec.containers.resources.limits.cpu 以下である必要があります。

spec.statefulSet.spec.template.spec.containers.resources.limits.cpu

: string

Ops Manager をホストするために作成されるノードの最大 CPUキャパシティー。省略した場合、この値はspec.statefulSet.spec.template.spec.containers.resources.requests.cpu に設定されます。

spec.statefulSet.spec.template.spec.containers.resources.requests.memory

: string

KubernetesでMongoDB Ops Manager をホストするためにKubernetesノードで使用可能である必要がある最小メモリキャパシティー。この値は、JEDEC 表記では、整数とそれに続くメモリ単位として表されます。

MongoDB Ops Manager上の にKubernetes 6 ギガバイトのメモリが必要な場合は、この値を6Gi に設定します。

注意

MongoDB では、この値を少なくとも5Giに設定することを推奨しています。

リクエスト値はspec.statefulSet.spec.template.spec.containers.resources.limits.memory 以下である必要があります。

spec.statefulSet.spec.template.spec.containers.resources.limits.memory

: string

Ops Manager をホストするために作成されるノードの最大メモリキャパシティー。省略した場合、この値はspec.statefulSet.spec.template.spec.containers.resources.requests.memory に設定されます。

Kubernetes Operator は、コンテナのメモリに基づいて Java ヒープ サイズのパラメータを計算し、設定します。

警告

この値は 32 GB 未満に制限します

この値を 32 GB( 32Gi )を超える値に設定すると、バックアップサービスに問題が発生する可能性があります。 ヒープが過剰な場合、 MongoDB Ops Managerで予期しない結果を引き起こす可能性があります。

spec.statefulSet.spec.template.spec.volumes

タイプ: コレクション

MongoDB Controls for Kubernetes Operator が Ops Manager 用に作成するステートメントセット内でコンテナがマウントできるボリュームのリスト。

Ops Manager ダッシュボードを使用して配置のログをリクエストし、一時ファイルのサイズが大幅に大きい場合は、Ops Manager の StatefulSetdata Kubernetes ボリュームに永続ボリュームを使用することを検討してください。

data Kubernetesボリュームはデフォルトで emptyDir タイプを使用します。これを上書きして永続ボリュームを使用するには、次の構成を MongoDBOpsManagerリソースに追加します。

statefulSet:
spec:
template:
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: <my-pvc>

<my-pvc> をKubernetes PersistentVolumeClaim の名前に置き換えます。

このセクションでは、 MongoDB Ops Managerの外部接続に関連するオプションの設定について説明します。 MongoDB Ops Managerマルチクラスター配置に固有のオプションの外部接続設定については、「マルチクラスター設定 」を参照してください。

spec.externalConnectivity

タイプ: コレクション

MongoDB Ops Managerへの外部接続を有効にする 構成オブジェクト。 指定した場合、 Kubernetes Operator はKubernetesサービスを作成し、 Kubernetesクラスターの外部からのトラフィックがMongoDB Ops Managerアプリケーションに到達できるようにします。

指定しない場合、Kubernetes Operator は Kubernetes サービスを作成しません。 手動で作成するか、サードパーティのソリューションを使用して外部トラフィックをMongoDB Ops Manager クラスター内のKubernetes アプリケーションにルーティングする必要があります。

spec.externalConnectivity.type

: string

Kubernetesサービス ServiceType MongoDB Ops ManagerKubernetesこれは を の外部で公開します。

spec.externalConnectivity.typeが存在する場合は必須。

指定可能な値はLoadBalancerNodePortです。 クラウドプロバイダーがサポートしている場合は、 LoadBalancerが推奨されます。 ローカル配置にはNodePortを使用します。

spec.externalConnectivity.port

タイプ: 整数

KubernetesサービスがMongoDB Ops Managerアプリケーションを外部トラフィックに使用するポートを示す値。

  • spec.externalConnectivity.typeNodePort の場合:

    • Kubernetesサービスは、 MongoDB Ops Managerアプリケーションをこのポートを介して外部トラフィックに公開します。

    • spec.externalConnectivity.port値を指定しない場合、 Kubernetesサービスは、30000 - のデフォルト範囲からランダムに選択された使用可能なポートから Ops Manager32767 アプリケーションにトラフィックをルーティングします。

      注意

      このポート経由のトラフィックを許可するには、ネットワークのファイアウォールを設定する必要があります。

  • spec.externalConnectivity.typeLoadBalancer の場合:

    • クラウドプロバイダーが作成するロード バランサー リソースは、このポートを介してMongoDB Ops Managerアプリケーションを公開します。

    • spec.externalConnectivity.port値を指定しない場合、 Kubernetesサービスは Ops Manager アプリケーションをデフォルトのHTTP (8080 )または HTTPS(8443 )ポートを介して外部トラフィックに公開します。

spec.externalConnectivity.loadBalancerIP

: string

Kubernetes Operator による作成時にLoadBalancer Kubernetes サービスが使用する IP アドレス。

この設定は、クラウドプロバイダーがこの設定をサポートしており、spec.externalConnectivity.typeLoadBalancer である場合にのみ使用できます。型ロードバランサーの詳細については、 Kubernetes のドキュメント を参照してください。

spec.externalConnectivity.externalTrafficPolicy

: string

MongoDB Ops Manager Kubernetesサービスへの外部トラフィックのルーティング ポリシー。 サービスは、この設定の値に応じて外部トラフィックをノードローカルまたはクラスター全体のエンドポイントにルーティングします。

指定可能な値は ClusterLocal です。要件を満たす値については、 Kubernetesドキュメントの「 Kubernetesのソース IP 」を参照してください。

注意

Clusterを選択した場合、Kubernetes ネットワーク境界で発生するネットワーク ホスティング中にクライアントのSource-IPが失われます。

spec.externalConnectivity.annotations

タイプ: コレクション

クラウドプロバイダー固有の構成設定を提供できるキーと値のペア。

注釈 の詳細については、 での TLS サポート については、Amazon Web ServicesKubernetes のドキュメント を参照してください。

このセクションでは、 MongoDB Ops Managerのバックアップに関連するオプション設定について説明します。 マルチクラスターMongoDB Ops Manager配置に固有のオプションのバックアップ設定については、「マルチクラスター設定 」を参照してください。

spec.backup.assignmentLabels

タイプ: 文字列の配列

バックアップデーモン サービスプロセスの割り当てラベルのリスト。 割り当てラベル を使用して、特定のバックアップデーモン プロセスが特定のプロジェクトに関連付けられていることを識別します。 Kubernetes Operator を使用して割り当てラベルを設定すると、割り当てラベルのKubernetes構成ファイルで設定した値が、 MongoDB Ops Manager UI で定義された値を上書きします。 Kubernetes Operator を使用して設定しない割り当てラベルは、 MongoDB Ops Manager UI で設定された値を引き続き使用します。

spec.backup.enabled

タイプ: ブール値

MongoDB Ops Managerリソースのバックアップを有効にするフラグ。 falseに設定されている場合、バックアップは無効になります。

デフォルト値はtrueです。

spec.backup.encryption

: オブジェクト

バックアップ暗号化の構成設定を含むオブジェクト。

spec.backup.encryption.kmip

: オブジェクト

KMIPバックアップ暗号化の構成設定を含むオブジェクトです。 詳細については、「 MongoDB Ops Managerの KMIP バックアップ暗号化の構成 」を参照してください。

注意

このパラメータを設定する場合、 の値にリンクされたAPIキーにspec.credentials Global Ownerロールが必要です。

spec.backup.encryption.kmip.server

: オブジェクト

KMIPバックアップ暗号化サーバーの構成設定を含むオブジェクト。

spec.backup.encryption.kmip.server.ca

: string

KMIP認証に使用する CA 証明書(ca.pem)のエントリを含む ConfigMap を識別する、人間が判読可能なラベル。

spec.backup.encryption.kmip.server.url

: string

hostname.port形式を使用する KMIPサーバーのURL (例: 、192.168.1.3:5696my-kmip-server.mycorp.com:5696)。

spec.backup.headDB

タイプ: コレクション

ヘッドデータベースの構成設定。Kubernetes Operator は、指定された構成で永続的なボリューム要求を作成します。

スカラー
データ型
説明

labelSelector

string

storage

string

永続ボリューム の最小サイズ マウントする必要があるもの。この値は、 JEDEC表記では、整数とそれに続くストレージの単位として表されます。

デフォルト値は30Giです。

詳細については、「バックアップデーモンのハードウェア要件 」を参照してください。

たとえば、ヘッドデータベースに60ギガバイトのストレージが必要な場合は、この値を60Giに設定します。

storageClass

string

永続的なボリューム要求 で指定されるストレージのタイプ 。このストレージ タイプは、 StorageClass として作成できます。 この オブジェクト で使用する前にオブジェクトを 仕様。

StorageClassreclaimPolicy を保持するように設定します。これにより、 永続的なボリューム要求 が削除されてもデータが保持されます。

spec.backup.jvmParameters

タイプ: 文字列の配列

任意。 コンテナ内の バックアップ サービスに渡される JVM パラメータ。MongoDB Ops Manager

この Kubernetes Operator パラメーターのデフォルトは空のリストです。

spec:
backup:
jvmParameters: ["-XX:+UseStringCache"]

警告

JVM メモリ ヒープの値は自分のリスクで変更

Kubernetes Operator は、コンテナのメモリに基づいてバックアップサービスのJVMメモリ ヒープ値を計算します。 -Xms-Xmx の値を変更すると、MongoDB Ops Manager で問題が発生する可能性があります。

spec.backup.members

タイプ: 整数

任意。 Kubernetesに配置するバックアップデーモンサービスの数。指定しない場合、デフォルトは1 になります。バックアップサービスの高可用性を確保するには、Ops Manager に複数のバックアップデーモンを配置します。

spec.backup.opLogStores

タイプ: コレクション

バックアップを有効にする場合は必須です。 バックアップに使用されるoplog ストアの配列。 配列内の各項目は、 Kubernetes Operator によって Kubernetes クラスターに配置された MongoDB database リソースを参照します。

spec.backup.opLogStores.assignmentLabels

タイプ: 文字列の配列

oplog ストアの割り当てラベルのリスト。 割り当てラベルを使用して、特定の oplog ストアが特定のプロジェクトに関連付けられていることを識別します。 Kubernetes Operator を使用して割り当てラベルを設定すると、割り当てラベルのKubernetes構成ファイルで設定した値が、 MongoDB Ops Manager UI で定義された値を上書きします。 Kubernetes Operator を使用して設定しない割り当てラベルは、 MongoDB Ops Manager UI で設定された値を引き続き使用します。

spec.backup.opLogStores.name

: string

バックアップを有効にする場合は必須です。 oplog ストアの名前。

重要

oplog ストアの名前を指定した後は、その名前を編集しないでください。

spec.backup.opLogStores.mongodbResourceRef.name

: string

バックアップを有効にする場合は必須です。 oplog スライスを保存するために作成するMongoDBリソースまたはMongoDBMultiClusterリソースの名前。 このリソースは、 MongoDB Ops Managerのリソースと同じ名前空間に配置する必要があります。

oplogデータベースは SCRAM 認証メカニズムのみをサポートしています。 他の認証メカニズムを有効にすることはできません。

oplog データベースでSCRAM認証を有効にする場合は、次の操作を行う必要があります。

  • MongoDBMongoDB Ops Managerをoplog データベースに接続するための ユーザー リソースを作成します。

  • nameOps Managerリソース定義でユーザーの を指定します。

この名前の MongoDB database リソースが存在しない場合、 backupリソースはPending状態になります。 Kubernetes Operator は、この名前の MongoDB database リソースが作成されるまで、10 秒ごとに再試行します。

注意

この設定で参照するデータベース リソースにセキュリティを変更すると、 Kubernetes Operator はMongoDB Ops Managerリソースの調整を自動的に開始します。 Kubernetes Operator は、 の変更に基づいてMongoDB Ops Manager構成の mongoUri フラグと ssl フラグを更新します。

spec.backup.opLogStores.mongodbUserRef.name

: string

SCRAMOplog Store Databaseで 認証が有効になっている場合は必須です。MongoDBへの接続に使用される ユーザーOplog Store Database リソースの名前。このユーザー リソースをMongoDB Ops Managerのリソースと同じ名前空間に、次のすべてのロールを使用して配置します。

spec.backup.blockStores

タイプ: コレクション

ブロックストアを使用してバックアップを有効にする場合は必須です。 バックアップに使用されるブロックストアの配列。 配列内の各項目は、 Kubernetes Operator によって Kubernetes クラスターに配置された MongoDB database リソースを参照します。

spec.backup.blockStores.assignmentLabels

タイプ: 文字列の配列

ブロックストア の割り当てラベルのリスト。 割り当てラベルを使用して、特定のブロックストアが特定のプロジェクトに関連付けられていることを識別します。 Kubernetes Operator を使用して割り当てラベルを設定すると、割り当てラベルのKubernetes構成ファイルで設定した値が、 MongoDB Ops Manager UI で定義された値を上書きします。 Kubernetes Operator を使用して設定しない割り当てラベルは、 MongoDB Ops Manager UI で設定された値を引き続き使用します。

spec.backup.blockStores.name

: string

ブロックストアを使用してバックアップを有効にする場合は必須です。 ブロックストアの名前。

重要

一度指定したブロックストアの名前は編集しないでください。

spec.backup.blockStores.mongodbResourceRef.name

: string

ブロックストアを使用してバックアップを有効にする場合は必須です。 ブロックストア用に作成する MongoDB database リソースの名前。 このデータベース リソースは、 MongoDB Ops Managerリソースと同じ名前空間に配置する必要があります。

ブロックストア データベースはSCRAM認証メカニズムのみをサポートしています。 他の認証メカニズムを有効にすることはできません。

ブロックストア データベースでSCRAM認証を有効にする場合は、次の操作を行う必要があります。

  • をブロックストア データベースに接続するための MongoDBユーザー リソースを作成します。MongoDB Ops Manager

  • nameOps Managerリソース定義でユーザーの を指定します。

この名前の MongoDB database リソースが存在しない場合、 backupリソースはPending状態になります。 Kubernetes Operator は、この名前の MongoDB database リソースが作成されるまで、10 秒ごとに再試行します。

注意

この設定で参照するデータベース リソースにセキュリティを変更すると、 Kubernetes Operator はMongoDB Ops Managerリソースの調整を自動的に開始します。 Kubernetes Operator は、 の変更に基づいてMongoDB Ops Manager構成の mongoUri フラグと ssl フラグを更新します。

spec.backup.blockStores.mongodbUserRef.name

: string

ブロックストア データベースで SCRAM 認証が有効になっている場合は必須です。 ブロックストア データベースに接続するために使用される MongoDB ユーザー リソースの名前。 このユーザー リソースをMongoDB Ops Managerのリソースと同じ名前空間に、次のすべてのロールを使用して配置します。

spec.backup.queryableBackupSecretRef.name

: string

配置の TLS 要件に基づいてバックアップへのアクセスとクエリを実行するために使用する、Ops Manager からの Queryable.pemファイルを含むシークレットの名前。PEMファイルには、アクセスと実行に必要な公開キー証明書とそれに関連付けられた秘密キーが含まれています。 Ops Manager のバックアップスナップショットに対するクエリ。バックアップをクエリするには、このパラメーターの値を指定します。設定されていない場合、バックアップは影響を受けませんが、クエリはできません。

spec.backup.statefulSet.spec

タイプ: コレクション

MongoDB Controls for Kubernetes Operatorバックアップデーモンサービス用に作成するステートフルセットの仕様。

spec.backup.statefulSet.specに追加できるフィールドを確認するには、 Kubernetesドキュメントの「 StateftSetSpec v1 アプリ 」を参照してください。

spec.backup.statefulSet.spec.template

タイプ: コレクション

テンプレート MongoDB Controls for Kubernetes Operator がバックアップデーモンサービス用に作成する ステートメントセット 内の Kubernetes ポッドの テンプレート。

spec.backup.statefulSet.spec.template.metadata

タイプ: コレクション

MongoDB Controls for Kubernetes Operator がバックアップデーモンサービス用に作成するステートメントセット内のKubernetesポッドのメタデータ。

spec.backup.statefulSet.spec.template.metadataに追加できるフィールドを確認するには、 Kubernetes のドキュメント を参照してください。

spec.backup.statefulSet.spec.template.spec

タイプ: コレクション

MongoDB Controls for Kubernetes Operator がバックアップデーモンサービス用に作成するステートメントセット内のKubernetesポッドの仕様。

spec.backup.statefulSet.spec.template.specに追加できるフィールドの完全なリストを確認するには、 Kubernetes のドキュメント を参照してください。

次の例では、spec.backup.statefulSet.spec.template.spec は、MongoDB Controls for Kubernetes Operator が配置する 1 つのバックアップデーモンサービスコンテナの最小と最大の CPU とメモリキャパシティーを定義します。

Tip

Ops Manager コンポーネントを**実行する**ホストするのハードウェア、ソフトウェア、およびネットワーク要件の詳細については、Ops Manager ドキュメントの「Ops Manager システム要件」を参照してください。

statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-backup-daemon
resources:
requests:
cpu: "4"
memory: "8Gi"
limits:
cpu: "8"
memory: "16Gi"
spec.backup.statefulSet.spec.template.spec.containers

タイプ: コレクション

MongoDB Controls for Kubernetes Operator がバックアップデーモンサービス用に作成するステートメントセット内のKubernetesポッドに属するコンテナのリスト。

バックアップデーモンのサービスコンテナの仕様を変更するには、次の例に示すように、 フィールドを使用してコンテナの正確な名前を指定する必要があります。name

backup:
statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-backup-daemon

注意

spec.backup.statefulSet.spec.template.spec.containersにコンテナを追加すると、Kubernetes Operator はそれらを Kubernetes ポッドに追加します。 これらのコンテナは、ポッド内のバックアップデーモン サービスコンテナに追加されます。

spec.backup.statefulSet.spec.template.spec.containers.resources.requests.cpu

: string

Kubernetes ノード で使用可能である必要がある最小 CPU 容量 バックアップデーモン サービスをホストします。

リクエスト値はspec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpu 以下である必要があります。

spec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpu

: string

バックアップデーモンサービスをホストするために作成されるノードの最大 CPUキャパシティー。省略した場合、この値はspec.backup.statefulSet.spec.template.spec.containers.resources.requests.cpu に設定されます。

spec.backup.statefulSet.spec.template.spec.containers.resources.requests.memory

: string

Kubernetes ノード で使用可能である必要がある最小メモリ容量 使用して、Kubernetes で バックアップ デーモン サービス をホストします。この値は、 JEDEC表記では、整数とそれに続くメモリ単位として表されます。

注意

この値は少なくとも4.5Giに設定します。 4.5Gi未満の値ではエラーが発生する可能性があります。

リクエスト値はspec.backup.statefulSet.spec.template.spec.containers.resources.limits.memory 以下である必要があります。

spec.backup.statefulSet.spec.template.spec.containers.resources.limits.memory

: string

バックアップデーモンサービスをホストするために作成されるノードの最大メモリキャパシティー。省略した場合、この値はspec.backup.statefulSet.spec.template.spec.containers.resources.requests.memory に設定されます。

Kubernetes Operator は、コンテナのメモリに基づいて Java ヒープ サイズのパラメータを計算し、設定します。

警告

この値は 32 GB 未満に制限します

この値を 32 GB( 32Gi )を超える値に設定すると、バックアップサービスに問題が発生する可能性があります。 ヒープが過剰な場合、 MongoDB Ops Managerで予期しない結果を引き起こす可能性があります。

Ops Manager は、oplog とバックアップスナップショットの保存に S3 を使用し、カスタム CA によって発行されたキーを使用して TLS によって S3 への接続を保護するように構成できます。

カスタム CA キーを構成するには、Ops Manager リソースの配置 の TLS-Encrypted Connection (HTTPS)タブで説明されているように、アプリケーション データベースの TLS を構成した ConfigMap を使用します。この ConfigMap に spec.applicationDatabase.security.tls.ca を設定します。

TLS は、S3 とアプリケーション データベースの両方に使用できます。また、S3 にのみ使用できます。

  • 両方に TLS を使用するには、ConfigMap で参照されている同じ ca-pem から両方の目的の証明書を取得します。

  • S3 のみに TLS を使用するには、ConfigMapspec.security.applicationDatabase.certsSecretPrefix を定義しないでください。

spec.backup.s3OpLogStores.assignmentLabels

タイプ: 文字列の配列

S3 oplogストアの割り当てラベルのリスト。割り当てラベルを使用して、特定の S3 oplogストアが特定のプロジェクトに関連付けられていることを識別します。 Kubernetes Operator を使用して割り当てラベルを設定すると、割り当てラベルのKubernetes構成ファイルで設定した値が、Ops Manager UIで定義された値を上書きします。 Kubernetes Operator を使用して設定しない割り当てラベルは、 Ops Manager UIで設定された値を引き続き使用します。

spec.backup.s3OpLogStores.customCertificate

タイプ: ブール値

非推奨。代わりにspec.backup.s3OpLogStores.customCertificateSecretRefs を使用してください。

S3 oplogストアのカスタム TLS 証明書として AppDB 証明書(appdb-ca)を使用するかどうかを示すフラグ。デフォルトは False です。

spec.backup.s3OpLogStores.customCertificateSecretRefs

タイプ: オブジェクトの配列

Kubernetesシークレットを使用した S3 oplogストアのカスタム証明書のリスト。 base64 でエンコードされた x.509 証明書は、キーを持つKubernetesシークレットにすでに存在し、 Java CertificateFactory によって解析可能である必要があります。 1 つのシークレット内で連鎖的に複数の証明書を指定することはできません。 1 つのシークレット内でチェーンに複数の証明書を指定した場合、 Kubernetes Operator はチェーン内の最初の証明書のみを使用します。 customCertificate 設定も指定する場合、 Kubernetes Operator はバックアップのカスタム証明書として spec.applicationDatabase.security.tls.ca を使用します。

リスト内の各エントリには、namekey を指定します。複数のシークレットを指定すると、 Kubernetes Operator は指定されたシークレット内のすべての証明書を使用します。

この設定を指定しない場合、MongoDBMongoDB Ops Manager Ops Manager は、 で使用される JVM デフォルトの信頼ストアMongoDB Ops Manager を使用します。

spec.backup.s3OpLogStores.customCertificateSecretRefs.name

: string

S3 oplogストアのカスタム証明書を使用するために必要です。カスタム証明書を含むKubernetesシークレット。

spec.configuration.mms.mongoDbUsage.defaultUsageType

: string

Kubernetes サービスのデフォルトのサーバータイプ。

spec.backup.s3OpLogStores.customCertificateSecretRefs.key

: string

Required to use custom certificates for your S3 oplog store. File that represents the key in the secret that contains the base64-encoded x.509 certificate. If you don't specify this setting, the Kubernetes Operator can't utilize the custom certificate for S3 oplog store backups.

spec.backup.s3OpLogStores.irsaEnabled

タイプ: ブール値

AWS EKS のサービス アカウントにAWS IAM ロールを使用して S3 oplogストアを構成することを有効にするフラグ。デフォルトは False です。 AWS EKS を使用していない場合、このフラグは効果がありません。 False に設定すると、EKS のサービスアカウントのAWS IAM ロールを使用して S3 oplogストアを構成する方法が無効になります。詳しくは、「 EKS のサービス アカウントの IAM ロール 」を参照してください。

spec.backup.s3OpLogStores.name

: string

Required to store the oplog using an S3 store. Name of the S3 oplog store.

spec.backup.s3OpLogStores.mongodbResourceRef.name

: string

S3 oplogストアのメタデータを保存するために作成するMongoDBデータベースリソースの名前。このデータベースリソースは、 Ops Managerリソースと同じ名前空間に配置する必要があります。

注意

この設定を省略すると、アプリケーション データベースを使用して S3 oplogストアのメタデータを保存できます。

この設定を省略する場合は、 設定も省略する必要があります。 Kubernetes Operatorspec.backup.s3OpLogStores.mongodbUserRef.nameSCRAM ユーザー認証を内部的に処理します。

このデータベースでSCRAM認証を有効にする場合は、次の操作を行う必要があります。

  • をデータベースに接続するための MongoDBユーザー リソースを作成します。MongoDB Ops Manager

  • nameOps Managerリソース定義でユーザーの を指定します。

spec.backup.s3OpLogStores.mongodbUserRef.name

: string

S3 oplogメタデータを保存するためのMongoDBデータベースリソースを作成し、 かつ このデータベースで SCRAM が有効になっている場合は必須です。 S3 oplogストアのメタデータデータベースに接続するために使用されるMongoDBユーザーリソースの名前。このユーザーリソースをOps Managerリソースと同じ名前空間に、次のすべてのロールを使用して配置します。

重要

Once specified, don't edit the name of the S3 metadata oplog store username.

spec.backup.s3OpLogStores.s3SecretRef.name

: string

spec.backup.s3OpLogStores.irsaEnabledtrue に設定されていない場合に、S3 ストアを使用してoplogを保存するために必要です。

Name of the secret that contains the accessKey and secretKey fields. The backup daemon service uses the values of these fields as credentials to access your AWS S3 or S3-compatible bucket. To configure the S3 oplog store, you must specify both keys in the secret.

spec.backup.s3OpLogStores.irsaEnabledtrue に設定する場合、 Amazon Web Services S3 の認証情報は pod 環境変数としてマウントされているため、s3SecretRef を設定する必要はありません。

spec.backup.s3OpLogStores.pathStyleAccessEnabled

タイプ: ブール値

バケットエンドポイント URL のスタイルを示します。

説明

true

パス形式 URL

s3.amazonaws.com/<bucket>

false

仮想ホスト形式の URL

<bucket>.s3.amazonaws.com

Amazon Web Servicesの注釈TLS サポートの詳細については、 Kubernetes のドキュメント を参照してください。

デフォルト値はtrueです。

spec.backup.s3OpLogStores.s3BucketEndpoint

: string

S3 ストアを使用してoplog を保存するために必要です。 oplogストアをホストするAWS S3バケットまたは S3 互換バケットのURL 。

spec.backup.s3OpLogStores.s3BucketName

: string

S3 ストアを使用してoplog を保存するために必要です。 oplogストアをホストするAWS S3バケットまたは S3 互換バケットの名前。

spec.backup.s3OpLogStores.s3RegionOverride

: string

S3 互換バケットが存在するリージョン。 S3 oplogストアの s3BucketEndpoint がリージョン スコープをサポートしていない場合にのみ、このフィールドを使用します。リージョンのスコープは 、エンドポイントがURLにリージョンを含めていない場合です。

このフィールドはAWS S3 バケットでは使用しないでください。詳しくは、「 S3 ブロックストア構成 」を参照してください。

spec.backup.s3Stores.assignmentLabels

タイプ: 文字列の配列

がデータベースバックアップスナップショットを保存する S3 または S3 互換バケットの割り当てラベルのリスト。割り当てラベルを使用して、特定の S3 ストアが特定のプロジェクトに関連付けられていることを識別します。 Kubernetes Operator を使用して割り当てラベルを設定すると、割り当てラベルのKubernetes構成ファイルで設定した値が、Ops Manager UIで定義された値を上書きします。 Kubernetes Operator を使用して設定しない割り当てラベルは、 Ops Manager UIで設定された値を引き続き使用します。

spec.backup.s3Stores.customCertificate

タイプ: ブール値

非推奨。代わりにspec.backup.s3Stores.customCertificateSecretRefs を使用してください。

アプリケーション データベースの証明書(appdb-ca)を S3 バックアップのカスタム TLS 証明書として使用するかどうかを示すフラグ。デフォルトは False です。

spec.backup.s3Stores.customCertificateSecretRefs

タイプ: オブジェクトの配列

Kubernetesシークレットを使用した S3読み取りのカスタム証明書のリスト。 base64 でエンコードされた x.509 証明書は、キーを持つKubernetesシークレットにすでに存在し、 Java CertificateFactory によって解析可能である必要があります。 1 つのシークレット内で連鎖的に複数の証明書を指定することはできません。 1 つのシークレット内でチェーンに複数の証明書を指定した場合、 Kubernetes Operator はチェーン内の最初の証明書のみを使用します。 spec.backup.s3Stores.customCertificate 設定も指定する場合、 Kubernetes Operator はバックアップのカスタム証明書として spec.applicationDatabase.security.tls.ca を使用します。

リスト内の各エントリには、namekey を指定します。複数のシークレットを指定した場合、 Kubernetes Operator は指定されたすべてのシークレットを使用します。

この設定を指定しない場合、Kubernetes Operator はバックアップに が使用する JVM デフォルトトラストMongoDB Ops Manager ストアを使用します。

spec.backup.s3Stores.customCertificateSecretRefs.name

: string

S3 oplogストアのカスタム証明書を使用するために必要です。カスタム証明書を含むKubernetesシークレット。

spec.backup.s3Stores.customCertificateSecretRefs.key

: string

Required to use custom certificates for your S3 oplog store. File that represents the key in the secret that contains the base64-encoded x.509 certificate. If you don't specify this setting, Kubernetes Operator can't utilize the custom certificate for S3 snapshot store and defaults to the default trust store used by Ops Manager.

spec.backup.s3Stores.irsaEnabled

タイプ: ブール値

Flag that enables using AWS IAM roles for service accounts in AWS EKS to configure an S3 snapshot store. The default is False. If you aren't using AWS EKS, this flag has no effect. When set to False, using AWS IAM roles for service accounts in EKS to configure an S3 snapshot store is disabled. To learn more, see IAM roles for service accounts in EKS.

spec.backup.s3Stores.name

: string

Required to store the oplog using an S3 store. Name of the S3 snapshot store.

重要

Once specified, don't edit the name of the S3 snapshot store. This change will likely fail if backups use the old name. The consequences of a successful change are unpredictable.

spec.backup.s3Stores.mongodbResourceRef.name

: string

S3読み取りのメタデータを保存するために作成する MongoDBリソースまたは MongoDBMultiClusterリソースの名前。このデータベースリソースは、 Ops Managerリソースと同じ名前空間に配置する必要があります。

注意

この設定を省略すると、アプリケーション データベースを使用して S3読み取りのメタデータが保存されます。

この設定を省略する場合は、 設定も省略する必要があります。 Kubernetes Operatorspec.backup.s3Stores.mongodbUserRef.nameSCRAM ユーザー認証を内部的に処理します。

このデータベースでSCRAM認証を有効にする場合は、次の操作を行う必要があります。

  • をデータベースに接続するための MongoDBユーザー リソースを作成します。MongoDB Ops Manager

  • nameOps Managerリソース定義でユーザーの を指定します。

重要

Once specified, don't edit the name of the S3 snapshot store. This change will likely fail if backups use the old name. The consequences of a successful change are unpredictable.

この名前の MongoDB database リソースが存在しない場合、 backupリソースはPending状態になります。 Kubernetes Operator は、この名前の MongoDB database リソースが作成されるまで、10 秒ごとに再試行します。

注意

この設定で参照するデータベース リソースにセキュリティを変更すると、 Kubernetes Operator はMongoDB Ops Managerリソースの調整を自動的に開始します。 Kubernetes Operator は、 の変更に基づいてMongoDB Ops Manager構成の mongoUri フラグと ssl フラグを更新します。

spec.backup.s3Stores.mongodbUserRef.name

: string

|s3| を保存するためのMongoDBデータベースリソースを作成した場合に必要このデータベースでは、スナップショットメタデータと SCRAM が有効になっています。 S3読み取りのメタデータデータベースに接続するために使用されるMongoDBユーザーリソースの名前。このユーザーリソースをOps Managerリソースと同じ名前空間に、次のすべてのロールを使用して配置します。

重要

Once specified, don't edit the name of the S3 metadata snapshot store username.

spec.backup.s3Stores.s3SecretRef.name

: string

S3 ストアを使用してバックアップを有効にし、かつ spec.backup.s3Stores.irsaEnabledtrue に設定していない場合に必要です。

Name of the secret that contains the accessKey and secretKey fields. The backup daemon service uses the values of these fields as credentials to access your AWS S3 or S3-compatible bucket. The S3 snapshot store can't be configured if the secret is missing either key.

spec.backup.s3Stores.irsaEnabledtrue に設定する場合、 Amazon Web Services S3 の認証情報は pod 環境変数としてマウントされているため、s3SecretRef を設定する必要はありません。

spec.backup.s3Stores.objectLockEnabled

タイプ: ブール値

この読み取りをバックアップするAWS S3 または S3 互換バケットで、オブジェクト ロックが有効になっているかどうかを指定します。このフィールドをtrue に設定して、ストアの不変バックアップを有効にします。

このフィールドは MongoDB Ops Manager バージョン8.0.19 以降でのみサポートされています。 Ops Manager で不変バックアップを構成する方法について詳しくは、「 不変バックアップの設定 」を参照してください。

デフォルト値はfalseです。

spec.backup.s3Stores.pathStyleAccessEnabled

タイプ: ブール値

バケットエンドポイント URL のスタイルを示します。

説明

true

パス形式 URL

s3.amazonaws.com/<bucket>

false

仮想ホスト形式の URL

<bucket>.s3.amazonaws.com

デフォルト値はtrueです。

spec.backup.s3Stores.s3BucketEndpoint

: string

S3 ストアを使用してバックアップを有効にする場合は必須です。読み取りをホストするAWS S3バケットまたは S3 互換バケットのURL 。

spec.backup.s3Stores.s3BucketName

: string

S3 ストアを使用してバックアップを有効にする場合は必須です。読み取りをホストするAWS S3バケットまたは S3 互換バケットの名前。

spec.backup.s3Stores.s3RegionOverride

: string

S3 互換バケットが存在するリージョン。このフィールドは、S3 ストアの s3BucketEndpoint がリージョン スコープをサポートしていない場合にのみ使用します。リージョンのスコープは 、エンドポイントがURLにリージョンを含めていない場合です。

このフィールドはAWS S3 バケットでは使用しないでください。詳しくは、「 S3 ブロックストア構成 」を参照してください。

このセクションでは、 を構成するために、 必要なMongoDB Ops Manager 設定Ops Manager Application Database に加えて使用する必要がある設定について説明します。

spec.applicationDatabase.version

: string

必須。 Ops Manager Application Database にインストールされているMongoDBのバージョン。コンテナレジストリの タグに基づいて、互換性のあるエンタープライズMongoDBバージョンを指定する必要があります。例、8.0.0-ubi8 。 Kubernetes Operator1 バージョン.20 以降、タグは-ent で終わることがなくなりました。

重要

互換性のある MongoDB Server バージョンを選択していることを確認してください。

互換性のあるバージョンは、MongoDB database リソースが使用する基本イメージによって異なります。

注意

この値を Application Database 用のMongoDBの新しいバージョンに更新しても、機能の互換性バージョンはアップグレード元のMongoDBバージョンのままになり、必要に応じてダウングレードのオプションが提供されます。機能の互換性バージョンを新しいMongoDBバージョンと一致させる場合は、 の下のfeatureCompatibilityVersion spec.applicationDatabaseパラメータを手動で設定する必要があります。

このセクションでは、Ops Manager Application Database に関連するオプションの設定について説明します。 MongoDB Ops Managerのマルチクラスター配置に固有のオプションのアプリケーション データベース設定については、「マルチクラスター設定 」を参照してください。

spec.applicationDatabase

タイプ: コレクション

MongoDB Ops Manager Application Databaseリソースの定義。

レプリカセットリソース仕様の次の設定は任意です。

spec.applicationDatabase.agent.logLevel

: string

デフォルト: INFO

ポッドでのオートメーションエージェントのログ記録のレベルを構成します。受け入れ可能な値は以下の通りです。

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

spec.applicationDatabase.agent.<component>.logRotate

: オブジェクト

コンポーネントを次のいずれかの値に置き換えます。

  • mongod

  • monitoringAgent

プロセスのMongoDBログをローテーションするためのMongoDB構成オブジェクト。agent.<component>.logRotate systemLog.destinationfileagent.<component>.logRotate設定を使用するには、ホストのsyslogシステムにログを書き込む場合に 設定を使用できないため、 を に設定する必要があります。

注意

Ops Manager ダッシュボードが生成するファイルのサイズが、emptyDir ボリュームで使用可能なストレージ容量よりも大きい場合は、ポッドのクラッシュを防ぐために、emptyDir ボリュームを永続ボリュームでオーバーライドすることを検討してください。詳しくは、spec.statefulSet.spec.template.spec.volumes を参照してください。

spec.applicationDatabase.agent.mongod.logRotate.numTotal

タイプ: 整数

デフォルト: 0

Ops Manager が保持するログファイルの合計数。デフォルトのを変更しない場合、Ops Manager は他のagent.<compenet>.logRotate 設定に基づいてローテーションを行います。

spec.applicationDatabase.agent.mongod.logRotate.numUncompressed

タイプ: 整数

デフォルト: 5

現在のログファイルを含む、非圧縮のままにするログファイルの最大数。

spec.applicationDatabase.agent.mongod.logRotate.percentOfDiskspace

タイプ: 数値

デフォルト: 0.02

MongoDB Ops Managerがログファイルを保存するために使用できる合計ディスク領域の最大パーセンテージは小数で表されます。 この制限を超えた場合、 MongoDB Ops Managerは、この制限を満たすまで圧縮されたログファイルを削除します。 MongoDB Ops Managerは、最も古いログファイルを最初に削除します。

spec.applicationDatabase.agent.<component>.logRotate.sizeThresholdMB

タイプ: 数値

コンポーネントを次のいずれかの値に置き換えます。

  • mongod

  • monitoringAgent

ログをローテーションする場合は必須です。 Ops Manager がログファイルをローテーションする前の、個々のログファイルの最大サイズ(MB 単位)。 MongoDB Ops Manager は、このsizeThresholdMB またはlogRotate.timeThresholdHrs 制限のいずれかに指定された値を満たす場合、ログファイルをすぐにローテーションします。

spec.applicationDatabase.agent.<component>.logRotate.timeThresholdHrs

タイプ: 整数

コンポーネントを次のいずれかの値に置き換えます。

  • mongod

  • monitoringAgent

ログをローテーションする場合は必須です。次のローテーションまでの個々のログファイルの最大期間(時間単位)。は最後のローテーション以降の時間です。 MongoDB Ops Manager は、 またはtimeThresholdHrs logRotate.sizeThresholdMのいずれかに指定された値を満たす場合、ログファイルをすぐにローテーションします。

spec.applicationDatabase.agent.mongod.auditlogRotate

: オブジェクト

プロセスの MongoDB 監査ログをローテーションするための MongoDB 構成オブジェクト 。

spec.applicationDatabase.agent.mongod.auditlogRotate.numTotal

タイプ: 整数

デフォルト: 0

Ops Manager が保持する監査するログファイルの合計数。デフォルト値を変更しない場合、Ops Manager は他のagent.mongod.auditlogRotate 設定に基づいてローテーションを行います。

spec.applicationDatabase.agent.mongod.auditlogRotate.numUncompressed

タイプ: 整数

デフォルト: 5

現在の監査ログファイルを含む、非圧縮のままにする監査ログファイルの最大数。

spec.applicationDatabase.agent.mongod.auditlogRotate.percentOfDiskspace

タイプ: 数値

デフォルト: 0.02

MongoDB Ops Managerが監査ログファイルを保存するために使用できる合計ディスク領域の最大パーセンテージ(小数で表されます)。 この制限を超えると、 MongoDB Ops Managerはこの制限を満たすまで圧縮された監査ログファイルを削除します。 MongoDB Ops Managerは、最も古いログファイルを最初に削除します。

spec.applicationDatabase.agent.mongod.auditlogRotate.sizeThresholdMB

タイプ: 数値

監査するログをローテーションする場合は必須です。 Ops Manager が監査ログファイルをローテーションする前の、個々の監査するログファイルの最大サイズ(MB 単位)。 MongoDB Ops Manager は、監査ログファイルが またはsizeThresholdMB auditlogRotate.timeThresholdHrs制限のいずれかの値に達すると、すぐに監査するログファイルをローテーションします。

spec.applicationDatabase.agent.mongod.auditlogRotate.timeThresholdHrs

タイプ: 整数

監査するログをローテーションする場合は必須です。次のローテーションまでの個々の監査するログファイルの最大期間(時間単位)。は最後のローテーション以降の時間です。 MongoDB Ops Manager は、監査ログファイルが またはtimeThresholdHrs auditlogRotate.sizeThresholdM制限のいずれかの値に達すると、すぐに監査するログファイルをローテーションします。

spec.applicationDatabase.agent.startupOptions

: オブジェクト

スタートアップ オプション用の MongoDB 構成オブジェクト 。 使用可能なフィールドについては、「 MongoDB Agent 設定」を参照してください。

spec.applicationDatabase.agent.systemLog

: オブジェクト

systemLogオプションを構成するための MongoDB 構成オブジェクト。

spec.applicationDatabase.agent.systemLog.path

: string

デフォルト: /var/log/mongodb-mms-automation/mongodb.log

mongodmongosまたは が標準出力やホストのsyslogではなく、すべての診断ログ情報を送信すべきログファイルのパス。 MongoDB は指定したパスにログファイルを作成します。

Linux パッケージ初期化スクリプトでは、 systemLog.pathがデフォルトから変更されることは想定されていません。 Linux パッケージを使用してsystemLog.pathを変更する場合は、独自の初期化スクリプトを使用し、組み込みスクリプトを無効にする必要があります。

spec.applicationDatabase.agent.systemLog.logAppend

タイプ: ブール値

デフォルト: false

trueの場合、mongos または インスタンスの再起動時に、mongod mongosmongodまたは によって既存のログファイルの末尾に新しいエントリが追加されます。このオプションを指定しない場合、mongod は既存のログをバックアップして新しいファイルを作成します。

spec.applicationDatabase.agent.systemLog.destination

: string

MongoDBfile syslogがすべてのログ出力を送信する宛先です。 または のいずれかを指定します。 を指定する場合は、file systemLog.pathも指定する必要があります。

systemLog.pathを指定しない場合、 MongoDB はすべてのログ出力を標準出力に送信します。

警告

syslog デーモンは、MongoDB によりメッセージが発行されたときではなく、メッセージがログに記録されたときにタイムスタンプを生成します。 この動作により、特にシステムの負荷が高い場合に、ログエントリのタイムスタンプに誤りが生じる可能性があります。 タイムスタンプが正確になるように、実稼働システムではfileオプションを使用することをお勧めします。

spec.applicationDatabase.externalAccess

タイプ: コレクション

クラスターを外部接続用に公開するための仕様。 Kubernetes クラスターの外部から MongoDB リソースに接続する方法については、「 Kubernetes の外部から MongoDB Database リソースに接続する 」を参照してください。

spec.externalAccessを追加すると、Kubernetes Operator はレプリカセット内の各ポッドの外部サービスを作成します。 外部サービスは、クラスター内の各 MongoDB database ポッドの外部エントリ ポイントを提供します。 各外部サービスには セレクター があります は、外部サービスを特定のポッドに一致させます。

値なしでこの設定を追加すると、Kubernetes Operator は次のデフォルト値を持つ外部サービスを作成します。

フィールド
説明

Name

<pod-name>-svc-external

外部サービスの名前。 この値は変更できません。

Type

LoadBalancer

Port

<Port Number>

mongodのポート。

publishNotReadyAddress

true

ポッドが準備ができていない場合でも DNS レコードが作成されることを指定します。どのデータベースポッドでもfalse に設定しないでください。

spec.externalAccess.externalService

タイプ: コレクション

spec.externalAccessのデフォルト値を上書きするための指定。

spec.externalAccess 設定を設定すると、 Kubernetes Operator は デフォルト値 の外部ロードバランサーサービスを自動的に作成します。ニーズに応じて、特定の値を上書きしたり、新しい値を追加したりできます。例、NodePort サービスを作成し、ロードバランサーが必要ない場合は、 Kubernetes仕様でオーバーライドを構成する必要があります。

externalAccess:
externalService:
annotations:
# cloud-specific annotations for the service
spec:
type: NodePort # default is LoadBalancer
# you can specify other spec overrides if necessary

Kubernetes仕様の詳細については、Kubernetesドキュメントの ServiceSpec を参照してください。

spec.externalAccess.externalService.annotations

タイプ: コレクション

配置内のすべてのクラスターにクラウドプロバイダー固有の構成設定を追加できるキーと値のペア。詳しくは、 「 Kubernetesクラウドプロバイダー 」の注釈とドキュメントを参照してください。

注釈 を使用して、 Kubernetes Operator 配置で使用される外部サービスのプレースホルダー値を指定できます。Kubernetes Operator は、これらの値を次の表に記載されている正しい値に自動的に置き換えます。プレースホルダーを使用すると、特定のポッドの各サービスに特定の注釈を提供できます。

説明

{resourceName}

{namespace}

{podIndex}

StateftSet によって割り当てられ、現在の外部サービスが対象とする ポッドのインデックス。

{podName}

{resourceName}-{podIndex}に等しい。

{statefulSetName}

ステートメント。{resourceName} と等しい。

{externalServiceName}

指定したプレースホルダー値に基づいて、外部サービスの生成された名前。 {resourceName}-{podIndex}-svc-externalに等しい。

{mongodProcessDomain}

mongodプロセスをホストしているサーバーのドメイン名。指定されている場合は spec.externalAccess.externalDomain と等しくなります。それ以外の場合は、mongod プロセス FQDN に使用されるドメインと等しくなります。

たとえば、プロセス ホスト名mdb-rs-1.example.comの場合、 example.comはドメイン名になります。

{mongodProcessFQDN}

mongodオートメーション構成で設定された プロセスのホスト名。

プロセス ホスト名は、配置構成によって異なります。 external domainsを使用するように配置を構成した場合、プロセス ホスト名は次の形式を使用します。

{resourceName}-{podIndex}.{mongodProcessDomain}

以下に例を挙げます。 mdb-rs-1.example.com

配置で外部ドメインを使用しない場合、プロセス ホスト名は次の形式を使用します。

{resourceName}-{podIndex}.{resourceName}-{podIndex}-svc.{namespace}.svc.cluster.local

以下に例を挙げます。 mdb-rs-1.mdb-rs-1-svc.ns.svc.cluster.local

注意

表に指定されている既知のプレースホルダー値のみを使用し、プレースホルダーが空または null 値を使用しないようにする必要があります。 また、単一の MongoDB リソース配置では、複数の Kubernetes クラスター配置に固有のプレースホルダーを使用することもできません。

それ以外の場合、Kubernetes Operator はエラーを返します。 たとえば、次のエラーメッセージが表示される場合があります。

error replacing placeholders in map with key=external-dns.alpha.kubernetes.io/hostname, value={resourceName}-{podIndex}-{unknownPlaceholder}.{clusterName}-{clusterIndex}.example.com: missing values for the following placeholders: {clusterName}, {clusterIndex}, {unknownPlaceholder}``

次の例えでは、 {resourceName}{podIndex}{namespace}プレースホルダーを指定します。

apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: mdb-rs
namespace: ns
spec:
replicas: 3
externalAccess:
externalService:
annotations:
external-dns.alpha.kubernetes.io/hostname: {resourceName}-{podIndex}-{namespace}.example.com

Kubernetes Operator は、各プレースホルダーの適切な値に基づいて、外部サービスの注釈を自動的に入力します。 例:

mdb-rs-0-svc-external:
annotations:
external-dns.alpha.kubernetes.io/hostname: mdb-rs-0-ns.example.com
mdb-rs-1-svc-external:
annotations:
external-dns.alpha.kubernetes.io/hostname: mdb-rs-1-ns.example.com
mdb-rs-2-svc-external:
annotations:
external-dns.alpha.kubernetes.io/hostname: mdb-rs-2-ns.example.com
spec.externalAccess.externalService.spec

タイプ: コレクション

ServiceSpec の構成。詳しくは、spec.externalAccess.externalService を参照してください。

spec.applicationDatabase.memberConfig

タイプ: オブジェクトの配列

MongoDB Ops Manager配置内の各アプリケーション データベース レプリカセット ノードの仕様。

重要

spec.topologyMultiClusterを に設定する場合は、 ではなく を使用します。マルチクラスター Opsspec.applicationDatabase.clusterSpecList.memberConfig Manager 配置では、 Kubernetesspec.applicationDatabase.memberConfigspec.applicationDatabase.memberConfig Operator は の下のすべてのパラメータを無視します。

memberConfigリスト内の要素数はspec.applicationDatabase.membersと等しくなければなりません。

memberConfigリスト内の要素の順序は、レプリカセット内のメンバーの順序を反映する必要があります。 たとえば、 配列の最初の要素はインデックス0の ポッドに影響し、2 番目の要素はインデックス1に影響するなどします。

アプリケーション データベースの 3 つのノードからなるレプリカセットの次の指定例を検討してみましょう。

spec:
applicationDatabase:
memberConfig:
- votes: 1
priority: "0.5"
tags:
tag1: "value1"
environment: "prod"
- votes: 1
priority: "1.5"
tags:
tag2: "value2"
environment: "prod"
- votes: 0
priority: "0"
tags:
tag2: "value2"
environment: "prod"
spec.applicationDatabase.memberConfig.priority

: string

アプリケーション データベースのレプリカセットがプライマリ になる相対的な可能性を示す数値。

  • レプリカセット メンバーがプライマリになる相対的な可能性を高めるには、 priorityの値を高く指定します。

  • レプリカセット メンバーがプライマリになる相対的な可能性を減らすには、 priorityの値を低く指定します。

たとえば、 memberConfig.priority1.5のメンバーは、 memberConfig.priority0.5のメンバーよりも多く、プライマリになる可能性が高くなります。

かつmemberConfig.priority0のノードはプライマリになる資格がありません。 詳しくは、「メンバーの優先順位 」を参照してください。

spec.applicationDatabase.memberConfig.tags

タイプ: map

アプリケーション データベース レプリカセットの特定のノードに読み取りおよび書込み (write) 操作を指示するためのレプリカセット タグのマップ。

spec.applicationDatabase.memberConfig.votes

タイプ: 数値

アプリケーション データベースのレプリカセットのノードが選挙で投票できるかどうかを決定します。メンバーに投票を許可するには に設定します。ノードを選挙から除外するには、1 0に設定します。

spec.applicationDatabase.passwordSecretKeyRef.name

: string

MongoDB Ops Manager データベース ユーザーmongodb-ops-managerのパスワードを含むシークレットの名前。 MongoDB Ops Manager はこのパスワードを使用して、アプリケーション データベースに認証します。

spec.applicationDatabase.passwordSecretKeyRef.key

: string

MongoDB Ops Manager データベース ユーザーmongodb-ops-managerのパスワードを含むシークレット内のフィールドの名前。 MongoDB Ops Manager はこのパスワードを使用して、アプリケーション データベースに認証します。

デフォルト値は password です。

spec.applicationDatabase.security.certsSecretPrefix

: string

アプリケーション データベースの TLS キーと証明書を含む作成したKubernetesシークレットにプレフィックスするテキスト。

シークレットには<prefix>-<metadata.name>-db-certという名前を付ける必要があります。

MongoDB Ops ManagerインスタンスをHTTPS 経由で実行するように構成する方法については、「 MongoDB Ops Managerリソースの配置 」を参照してください。

spec.applicationDatabase.security.tls.ca

: string

アプリケーション データベースの CAファイルを含むKubernetes ConfigMap の名前。

重要

カスタム CA を使用してアプリケーション データベースの TLS 証明書に署名する場合は、spec.applicationDatabase.security.tls.ca が必要です。

Kubernetes Operator では、ConfigMap でアプリケーション データベースの証明書ca-pemに名前を付ける必要があります。

The CA specified in this section is also used for configuring custom TLS certificates for S3 storage when either spec.backup.s3OpLogStores.customCertificate or spec.backup.s3Stores.customCertificate are set to true.

このCAは、次の証明書に署名します。

  • アプリケーション データベースのレプリカセットのノードは相互に通信するために使用し、

  • MongoDB Ops Manager は を使用して Application Database レプリカセットと通信します。

警告

アプリケーションデータベースが再起動した場合に Ops Manager が操作不能になるのを防ぐために、カスタム CAファイルと TLS 証明書チェーン全体を downloads.mongodb.com から連結する必要があります。

spec.applicationDatabase.security.tls.enabled

重要

spec.security.applicationDatabase.tls.enabled は非推奨であり、将来のリリースで削除される予定です。 TLS を有効にするには、spec.security.applicationDatabase.certsSecretPrefix 設定の値を指定します。

MongoDB Ops Manager とアプリケーション データベース間のTLS証明書を使用して通信を暗号化します。

アプリケーション データベースで Prometheus を使用する場合、次の設定が適用されます。

spec.applicationDatabase.prometheus

タイプ: 配列

任意。 Prometheus にメトリクスを公開するためのパラメーターを含むリスト。

spec.applicationDatabase.prometheus.metricsPath

: string

デフォルト: "/metrics"

任意。 メトリクス エンドポイントへのパスを示す、人間が判読可能なstring 。 この設定を指定しない場合、デフォルトが適用されます。

spec.applicationDatabase.prometheus.passwordSecretRef

: オブジェクト

基本的なHTTP認証の シークレット の詳細を含む条件付きオブジェクト。アプリケーション データベースで Prometheus を使用する場合は、この設定を指定する必要があります。

spec.applicationDatabase.prometheus.passwordSecretRef.key

: string

デフォルト: "password"

任意。基本的なHTTP認証のパスワードを保存する シークレット 内のキーを識別する、人間が判読可能な文字列。この設定を指定しない場合、デフォルトが適用されます。

spec.applicationDatabase.prometheus.passwordSecretRef.name

: string

条件付き

基本的なHTTP認証のパスワードを含むシークレットを識別する、人間が判読可能なラベル。アプリケーション データベースで Prometheus を使用する場合は、この設定を指定する必要があります。

spec.applicationDatabase.prometheus.port

タイプ: 整数

デフォルト: 9216

任意。 メトリクス エンドポイントがバインドするポートを識別する番号。 この設定を指定しない場合、デフォルトが適用されます。

spec.applicationDatabase.prometheus.tlseSecretKeyRef

: オブジェクト

任意。 TLS認証の シークレット の詳細を含むオブジェクト。

spec.applicationDatabase.prometheus.tlseSecretKeyRef.key

: string

デフォルト: "password"

任意。 TLS認証のパスワードを保存する シークレット 内のキーを識別する、人間が判読可能な文字列。この設定を指定しない場合、デフォルトが適用されます。

spec.applicationDatabase.prometheus.tlseSecretKeyRef.name

: string

条件付き。 TLS認証のパスワードを含むシークレットを識別する、人間が判読可能なラベル。アプリケーション データベースで Prometheus を使用し、 TLS認証 を使用する場合は、この設定を指定する必要があります。

spec.applicationDatabase.prometheus.username

: string

条件付き。 基本的な HTTP 認証のユーザーを識別する、人間が判読可能なラベル。 アプリケーション データベースで Prometheus を使用する場合は、この設定を指定する必要があります。

このセクションでは、必要な MongoDB Ops Manager 設定に加えて、マルチクラスターMongoDB Ops Manager配置に使用する必要がある設定について説明しMongoDB Ops Manager 。

spec.clusterSpecList.members

タイプ: 整数

条件付き。マルチ Kubernetes クラスターMongoDBデプロイ内の Ops Manager クラスター内の Ops Manager ノードの数。spec.topologyMultiCluster に設定する場合は、このパラメータの値を指定する必要があります。単一クラスター配置の場合は、このパラメーターを省略します。このパラメーターを 0 に設定すると、この Ops Manager ノードクラスターは、Ops Manager インスタンスのマルチ Kubernetes クラスター内のノードクラスターのリストから削除されます。

spec.topology

: string

KubernetesリソースのMongoDB Ops Manager 配置のタイプ。

  • 値はSingleClusterまたはMultiClusterです。 省略した場合、デフォルト値はSingleClusterです。

  • MultiClusterを指定した場合

MongoDB Ops Managerのリソースでは、マルチクラスターのMongoDB Ops Manager配置に固有の次の設定も使用できます。

spec.clusterSpecList

タイプ: コレクション

条件付き。 またはバックアップデーモン Kubernetesインスタンスを配置する予定の複数のKubernetes クラスターで、選択した ノード クラスターの詳細。MongoDB Ops Managerリソース仕様の例も参照してください。

spec.clusterSpecList.clusterName

: string

任意 。MongoDB Ops Managerまたはバックアップデーモンの ステートメントをスケジュールするMongoDBのマルチKubernetesクラスターMongoDBデプロイ内のメンバーの名前。

spec.clusterSpecList.clusterDomain

: string

任意。特定の Ops Manager ノード クラスターの spec.clusterDomain のオーバーライド。この値を省略すると、 はデフォルトで spec.clusterDomain に設定された値になります。 Kubernetes は各ポッドに FQDN を割り当てます。 Kubernetes演算子は、指定された clusterDomain 値を使用して各ポッドの FQDN を計算します。 Kubernetes、これらのホスト名をクエリするためのAPIは提供されていません。

spec.clusterSpecList.configuration

タイプ: コレクション

任意。特定のクラスターの で設定したプロパティを上書きする Ops Managerspec.configuration 構成プロパティ。プロパティ名と説明については、「 Ops Manager の構成設定 」を参照してください。各プロパティの値は 型です。例などのプロパティを設定すると、その特定のノードstring クラスター内の Ops Manager とバックアップデーモンに渡す必要がある環境変数を変更できます。

値の指定を省略すると、spec.configuration はデフォルトで で設定された値になります。

spec.clusterSpecList.jvmParameters

タイプ: 文字列の配列

任意。 このノード クラスターの MongoDB Ops Manager インスタンスとバックアップデーモン インスタンスに渡されるJVMパラメーター。

spec.clusterSpecList.externalConnectivity

タイプ: コレクション

任意。特定のクラスターの MongoDB Ops Manager への外部接続を有効にする 構成オブジェクト。これは、特定のクラスターのspec.externalConnectivity の上書きです。

MongoDB Ops Managerアプリケーションがさまざまなクラスターで外部に公開される方法を変更するには、このパラメーターの値を指定します。 たとえば、異なるクラウドプロバイダーのMongoDB Ops Manager Kubernetesノードに配置する場合は、このパラメーターにクラウドプロバイダー固有の値を指定する必要がある場合があります。

このパラメーターを設定すると、次の効果が生じます。

  • Kubernetes Operator は、このノード Ops Manager クラスターにspec.externalConnectivity 値を使用しません。

  • Kubernetes Operator は、 という名前のKubernetesサービスを作成します。これにより、<om-name>-svc-ext Kubernetesクラスターの外部からのトラフィックは、このノードクラスター上の Ops Managerアプリケーションに到達できます。

このパラメーターを省略すると、 Kubernetes Operator はこのノード クラスターに対してspec.externalConnectivity の値を使用します。

spec.clusterSpecList.statefulSet.spec

タイプ: コレクション

任意。 MongoDB Controls for Kubernetes Operator がマルチ Kubernetes クラスター Ops Manager デプロイメント内の特定のノード クラスターに対して作成するステートフルセットの仕様。このパラメータはspec.statefulSet.spec の上書きです。省略すると、 Kubernetes演算子は の値を使用します。例、このパラメータを使用して、 マルチ Kubernetes クラスターMongoDBデプロイ内の各 Ops Manager クラスターに対して異なるストレージ値を指定できます。spec.statefulSet.spec

spec.clusterSpecList.statefulSet.specに追加できるフィールドを確認するには、 Kubernetesドキュメントの「 StateftSetSpec v1 アプリ 」を参照してください。

spec.clusterSpecList[*].backup

任意。 その特定のノード クラスターのspec.backupで指定された値を上書きするバックアップ設定。

  • これらの値は、spec.backup.enabledtrue に設定されている場合にのみ設定できます。

  • このパラメータの値を設定しない場合、デフォルトはspec.backupの下の設定で指定された値になります。

  • このオーバーライドでは、すべてのバックアップ設定がサポートされていません。 次のバックアップ設定は、 spec.backupで指定されている場合、すべてのノード クラスターにグローバルに適用されるため、上書きできません。

    • externalServiceEnabled

    • headDB

    • opLogStores

    • blockStores

    • s3Stores

    • fileSystemStores

    • queryableBackupSecretRef

    • encryption

spec.clusterSpecList[*].backup.members

タイプ: 整数

任意。 のspec.backup.members をオーバーライドします。このクラスターに配置するバックアップデーモンインスタンスの数。この値を省略するか、0 の値を指定すると、 Kubernetes Operator は特定のノードクラスターにバックアップデーモンインスタンスを配置しません。

spec.clusterSpecList[*].backup.assignmentLabels

タイプ: 文字列の配列

任意。 spec.backup.assignmentLabels の をオーバーライドします。指定すると、 Kubernetes Operator は、特定のノードクラスター内のすべてのバックアップデーモンインスタンスに対して、このオーバーライドで指定した値を使用します。このパラメータの値を省略すると、値はデフォルトでノードクラスター内のすべてのバックアップデーモンインスタンスの spec.backup.assignmentLabels で指定された値にデフォルト。

spec.clusterSpecList[*].backup.jvmParameters

タイプ: 文字列の配列

任意。 spec.backup.jvmParameters の をオーバーライドします。特定のノード クラスター内のバックアップデーモンインスタンスのJVM値をカスタマイズできます。

spec.clusterSpecList[*].backup.statefulSet

: string

任意。 の をオーバーライドします。特定のノードクラスター内のバックアップデーモンのspec.backup.statefulSet.spec 値をカスタマイズできます。spec.clusterSpecList[*].backup.statefulSet に追加できるフィールドを確認するには、 Kubernetesドキュメントの「StateulSetSpec v1 アプリ」を参照してください。

このセクションでは、アプリケーション データベースで使用する必要があるマルチクラスターMongoDB Ops Manager配置に固有の設定について説明します。

spec.applicationDatabase.clusterSpecList

タイプ: コレクション

MongoDB のマルチ Kubernetes クラスター配置で、アプリケーション データベースをホストするノードとして機能する選択した Kubernetes ノード クラスターの詳細。

spec.applicationDatabase.clusterSpecList.clusterName

: string

MongoDB Controls for Kubernetes Operator がアプリケーション データベースのステートメントをスケジュールする MongoDB のマルチ Kubernetes クラスターMongoDBデプロイ内の、メンバーのKubernetesクラスターの名前。

重要

CRDclusterSpecList の と 設定を変更して、単一クラスターの Ops Managerインスタンスを複数の Kubernetes クラスターMongoDBデプロイインスタンスに変換することはできません。topology

spec.applicationDatabase.clusterSpecList.members

タイプ: 数値

指定されたノード クラスター内のステートメント ノードの数。 ノードクラスターは、Kubernetes クラスターの MongoDB 配置でアプリケーション データベースをホストするノード クラスターの 1 つです。

spec.applicationDatabase.topology

: string

アプリケーション データベースの Kubernetes 配置のタイプ。

  • 値はSingleClusterまたはMultiClusterです。 省略した場合、デフォルト値はSingleClusterです。

  • MultiClusterを指定する場合は、少なくとも 1 つのメンバーを指定する必要があります

  • clusterSpecListclusterNamemembers パラメータを使用してアプリケーション データベースを配置するクラスター。

  • MultiClusterを指定すると、Kubernetes Operator はspec.applicationDatabase.membersフィールドに設定した値を無視します。

詳しくは、 マルチクラスターのリソース仕様 の例を参照してください。

このセクションでは、アプリケーション データベースで使用できるマルチクラスターMongoDB Ops Manager配置に固有の設定について説明します。

spec.applicationDatabase.clusterSpecList.externalAccess

: string

レプリカセットの配置を外部で公開するために使用される外部ドメイン。

デフォルトでは 、各レプリカセットノードはKubernetesポッドの FQDN*.svc.cluster.local)をデフォルトのホスト名として使用します。ただし、この設定に外部ドメインを追加すると、レプリカセットは代わりに、指定されたドメインのサブドメインであるホスト名を使用します。このホスト名は、次の形式を使用します。

<replica-set-name>-<cluster-idx>-<pod-idx>.<externalDomain>

以下に例を挙げます。

multi-replica-set-0-1.cluster-0.example.com

重要

この設定は、 サービス メトリクスなしで Application Database 配置を配置する場合にのみ使用します。「 サービス メッシュのないマルチクラスターMongoDB Ops Manager 」を参照してください。

spec.applicationDatabase.clusterSpecList.memberConfig

タイプ: 文字列の配列

マルチクラスターMongoDB Ops Manager配置内の各アプリケーション データベース レプリカセット ノードの仕様。

重要

spec.topologySingleClusterspec.applicationDatabase.clusterSpecList.memberConfigspec.applicationDatabase.memberConfig に設定する場合は、 ではなく を使用します。

リスト内の要素数はmemberConfig spec.applicationDatabase.clusterSpecList.membersと等しくなっている必要があります。

memberConfigリスト内の要素の順序は、レプリカセット内のメンバーの順序を反映する必要があります。 たとえば、 配列の最初の要素はインデックス0の ポッドに影響し、2 番目の要素はインデックス1に影響するなどします。

アプリケーション データベースの 3 つのノードからなるレプリカセットの次の指定例を検討してみましょう。

spec:
replicas: 3
version: 8.0.0
backup:
enabled: true
storage:
resources:
requests:
storage: 10Gi
storageClassName: standard
applicationDatabase:
clusterSpecList:
- name: appdb
members: 3
memberConfig:
- votes: 1
priority: "0.5"
tags:
tag1: "value1"
environment: "prod"
- votes: 1
priority: "1.5"
tags:
tag2: "value2"
environment: "prod"
- votes: 0
priority: "0"
tags:
tag2: "value2"
environment: "prod"
spec.applicationDatabase.clusterSpecList.memberConfig.priority

: string

アプリケーション データベースのレプリカセットがプライマリ になる相対的な可能性を示す数値。

  • レプリカセット メンバーがプライマリになる相対的な可能性を高めるには、 priorityの値を高く指定します。

  • レプリカセット メンバーがプライマリになる相対的な可能性を減らすには、 priorityの値を低く指定します。

たとえば、 memberConfig.priority1.5のメンバーは、 memberConfig.priority0.5のメンバーよりも多く、プライマリになる可能性が高くなります。

かつmemberConfig.priority0のノードはプライマリになる資格がありません。 詳しくは、「メンバーの優先順位 」を参照してください。

spec.applicationDatabase.clusterSpecList.memberConfig.tags

タイプ: map

アプリケーション データベース レプリカセットの特定のノードに読み取りおよび書込み (write) 操作を指示するためのレプリカセット タグのマップ。

spec.applicationDatabase.clusterSpecList.memberConfig.votes

タイプ: 数値

アプリケーション データベースのレプリカセットのノードが選挙で投票できるかどうかを決定します。メンバーに投票を許可するには に設定します。ノードを選挙から除外するには、1 0に設定します。