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

MongoDBCommunity リソース仕様

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

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

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

apiVersion: mongodbcommunity.mongodb.com/v1kind: MongoDBCommunitymetadata: name: my-mongodb-communityspec: version: "8.0.0" type: ReplicaSet members: 3 security: tls: enabled: true certificateKeySecretRef: name: mongodb-tls-cert caConfigMapRef: name: mongodb-ca authentication: ignoreUnknownUsers: true modes: - SCRAM agent: logLevel: DEBUG statefulSet: spec: template: spec: 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 users: - name: mdb-admin db: admin passwordSecretRef: name: mdb-admin-user-password scramCredentialsSecretName: mdb-admin-user roles: - name: root 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

割り当てるロールの名前。例:root、readWrite、readAnyDatabase、searchCoordinatorなど。

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

型: string

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

MongoDB Search とベクトル検索は、MongoDBCommunity リソースと並行して、MongoDBSearch CRD を使用して配置することができます。検索機能を有効にするには、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 とベクトル検索の配置」を参照してください。