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

MongoDBCommunity リソース仕様

MongoDBCommunity カスタム リソースを使用すると、Kubernetes で MongoDB Community Edition レプリカセットを配置および管理できます。Kubernetes 演算子 はこのリソースを使用して、MongoDB Community 配置の実行に必要な statefulSets、サービス、その他の Kubernetes リソースを作成します。

詳しくは、MongoDB Community Operator ドキュメントを参照してください。

次の例は、 MongoDBCommunityカスタム リソースのリソース仕様を示しています。

1apiVersion: mongodbcommunity.mongodb.com/v1
2kind: MongoDBCommunity
3metadata:
4 name: my-mongodb-community
5spec:
6 version: "8.0.0"
7 type: ReplicaSet
8 members: 3
9 security:
10 tls:
11 enabled: true
12 certificateKeySecretRef:
13 name: mongodb-tls-cert
14 caConfigMapRef:
15 name: mongodb-ca
16 authentication:
17 ignoreUnknownUsers: true
18 modes:
19 - SCRAM
20 agent:
21 logLevel: DEBUG
22 statefulSet:
23 spec:
24 template:
25 spec:
26 containers:
27 - name: mongod
28 resources:
29 limits:
30 cpu: "2"
31 memory: 2Gi
32 requests:
33 cpu: "1"
34 memory: 1Gi
35 - name: mongodb-agent
36 resources:
37 limits:
38 cpu: "1"
39 memory: 2Gi
40 requests:
41 cpu: "0.5"
42 memory: 1Gi
43 users:
44 - name: mdb-admin
45 db: admin
46 passwordSecretRef:
47 name: mdb-admin-user-password
48 scramCredentialsSecretName: mdb-admin-user
49 roles:
50 - name: root
51 db: admin

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

apiVersion

: string

MongoDB Kubernetesリソーススキーマのバージョン。値を mongodbcommunity.mongodb.com/v1 に設定します。

kind

: string

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

metadata.name

: string

人間が判読できる名前なので、この特定のMongoDBCommunityリソースを識別できます。

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

spec.version

: string

配置するMongoDB Community のバージン。例: "8.0.0"

spec.type

: string

作成する MongoDB 配置のタイプ。受け入れられる値は ReplicaSet です。

spec.members

タイプ: 整数

レプリカセットのノード数。これにより、Kubernetes 演算子がStatefulSetで作成するmongod ポッドの数が決定されます。

MongoDBCommunityカスタム リソースは、次の設定を使用できます。

spec.security

: オブジェクト

MongoDBCommunityリソースのセキュリティ構成。TLS と認証設定が含まれています。

spec.security.tls

: オブジェクト

MongoDB 配置の TLS 設定。

spec.security.tls.enabled

タイプ: ブール値

MongoDB 配置の TLS を有効または無効にするためのフラグ。TLS 暗号化された接続を有効にするには true に設定します。

spec.security.tls.certificateKeySecretRef.name

: string

MongoDB 配置の TLS サーバー証明書と秘密キーを含む Kubernetes secret の名前。

spec.security.tls.caConfigMapRef.name

: string

TLS 接続の検証に使用される証明書オーソリティ(CA)証明書を含む Kubernetes ConfigMap の名前。

spec.security.authentication

: オブジェクト

MongoDB 配置の認証構成。

spec.security.authentication.modes

タイプ: 文字列の配列

MongoDB 配置で有効にする認証メカニズムの一覧。受け入れ可能な値は以下の通りです。

  • SCRAM
spec.security.authentication.ignoreUnknownUsers

タイプ: ブール値

true の場合、Kubernetes 演算子 は、MongoDB の配置に存在するが MongoDBCommunity リソース仕様で定義されていないユーザーのエラーを報告しません。

デフォルト: false

spec.agent

: オブジェクト

MongoDB Agent の設定。

spec.agent.logLevel

: string

MongoDB Agent ログの冗長レベル。受け入れ可能な値は以下の通りです。

  • DEBUG

  • INFO

  • WARN

  • ERROR

spec.statefulSet

: オブジェクト

Kubernetes Operator が MongoDBCommunity リソースに対して作成する StatefulSet の仕様。これを使用して、デフォルトのコンテナリソースのリクエストと制限を上書きします。

spec.statefulSet.spec

: オブジェクト

Kubernetes Operatorが生成されたデフォルトとマージするStatefulSet仕様。標準のKubernetes StatefulSet spec.に従います。

spec.statefulSet.spec.template.spec.containers

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

コンテナの上書きのリスト。次のコンテナのリソースリクエストと制限を上書きできます。

  • mongod — MongoDB データベース コンテナ。

  • mongodb-agent — MongoDB Agent サイドカー コンテナ。

containers:
- name: mongod
resources:
limits:
cpu: "2"
memory: 2Gi
requests:
cpu: "1"
memory: 1Gi
- name: mongodb-agent
resources:
limits:
cpu: "1"
memory: 2Gi
requests:
cpu: "0.5"
memory: 1Gi
spec.users

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

この配置で作成する MongoDB データベースユーザーのリスト。各ユーザーオブジェクトは、データベースユーザーの認証情報とロールを定義します。

spec.users[*].name

: string

MongoDB データベースユーザーのユーザー名。

spec.users[*].db

: string

ユーザーの認証データベース。デフォルトは admin です。

spec.users[*].passwordSecretRef.name

: string

このデータベースユーザーのパスワードを含む Kubernetes secret の名前。

spec.users[*].scramCredentialsSecretName

: string

Kubernetes 演算子がこのユーザーの生成された SCRAM 認証情報を保存する シークレット の名前。

spec.users[*].roles

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

このデータベースユーザーに割り当てるロールの一覧。

spec.users[*].roles[*].name

: string

割り当てるロールの名前。例:rootreadWritereadAnyDatabasesearchCoordinatorなど。

spec.users[*].roles[*].db

: string

ロールが適用されるデータベース。例: admin

MongoDBSearch CRD を使用して、MongoDBCommunity リソースと並行してMongoDB Search とベクトル検索を配置できます。検索機能を有効にするには、searchCoordinator ロールを持つ search-sync-source ユーザーを作成します。

users:
- name: search-sync-source
db: admin
passwordSecretRef:
name: my-resource-search-sync-source-password
scramCredentialsSecretName: my-resource-search-sync-source
roles:
- name: searchCoordinator
db: admin

注意

MongoDB 8.2 以降では、searchCoordinator は組み込みロールです。以前のバージョンの場合、Kubernetes 演算子は searchCoordinator カスタムロールを自動的に作成します。

詳細については、「MongoDB Search とベクトル検索の配置」を参照してください。