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

MongoDB Search とベクトル検索の設定

Kubernetes Operator 用のMongoDBドライバーを使用して、 MongoDB v8.0 以降と並行してMongoDB Search とベクトル検索を配置できます。

次の例は、 MongoDB Search とベクトル検索 の配置の specオブジェクト内の設定を示しています。これらの設定の詳細については、必要な設定オプション設定 を参照してください。

1spec:
2 source:
3 mongodbResourceRef:
4 name: mdb
5 external:
6 hostAndPorts:
7 - mdb-rs-external-0.example.com:27017
8 - mdb-rs-external-1.example.com:27017
9 - mdb-rs-external-2.example.com:27017
10 tls:
11 ca:
12 name: mdbc-rs-ca
13 username: search-sync-source
14 passwordSecretRef:
15 name: mdbc-rs-search-sync-source-password
16 key: password
17 security:
18 tls:
19 certificateKeySecretRef:
20 name: mdbs-tls-secret
21 resourceRequirements:
22 limits:
23 cpu: "3"
24 memory: 5Gi
25 requests:
26 cpu: "2"
27 memory: 3Gi
28 logLevel: INFO
29 prometheus: {}

このセクションでは、MongoDB 検索するおよびベクトル検索リソースを配置するために必要な設定について説明します。カスタム リソース定義(CRD)で必要な設定のみを定義する場合、 MongoDB Controllers for Kubernetes Operator はすべての任意設定のデフォルトを使用して MongoDBSearch を構成します。

apiVersion

: string

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

kind

: string

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

metadata.namespace

: string

MongoDBSearchリソースを作成する名前空間。MongoDBSearch と MongoDB リソースまたは MongoDBCommunity リソースの自動構成を活用するには、MongoDBSearchリソースをMongoDB または MongoDBCommunityリソースと同じ名前空間に作成する必要があります。

metadata.name

: string

MongoDBSearchリソースの一意の識別子です。リソース名の長さは最大 44 文字です。

このセクションでは、MongoDB Search およびベクトル検索リソースの任意設定について説明します。任意設定を省略し、CRD で必要な設定のみを定義すると、 MongoDB Controls for Kubernetes 演算子はすべての任意設定にデフォルトを使用して MongoDBSearch を構成します。

spec.source

: オブジェクト

mongot のMongoDBソースレプリカセットを記述する設定。これは、次の場合に必要です。

  • MongoDB は外部です

  • MongoDB MongoDBSearch とは名前が異なります

MongoDBSearchリソースは常にレプリカセットに接続されている必要があります。MongoDB またはMongoDBCommunity CRD とともにKubernetes Operator を使用してレプリカセットを配置し、かつspec.source が空の場合、 Kubernetes Operator は に基づいて次のコマンドを使用して、metadata.name Kubernetes内のデータベースを検索します。

  • MongoDBSearch で、同じ名前空間で、metadata.name に設定されている名前と同じ名前の MongoDB または MongoDBCommunity リソースを検索します。

  • <MongoDBSearch.metadata.name>-search-sync-source-password シークレットから mongot ユーザーのパスワードシークレットを見つけます。

spec.source.mongodbResourceRef.name

: string

このMongoDB Search およびベクトル検索リソースに関連付ける MongoDB または MongoDBCommunity リソースの名前。同じ MongoDB または MongoDBCommunityリソースを参照する複数の MongoDBSearchリソースは存在できません。別の名前を指定する場合は、 MongoDB Search とベクトル検索を有効にする MongoDB または MongoDBCommunity を明示的に点必要があります。

このフィールドは、MongoDB または MongoDBCommunityリソースが同じKubernetesクラスターに配置され、MongoDBSearchリソースと同じ名前空間にある場合にのみ使用します。このフィールドを設定すると、 Kubernetes Operator は自動的に次の操作を実行できるようになります。

  • データベースへの適切な接続文字列を設定します。

  • 検索機能を有効にするために必要なパラメーターを設定し、検索ポッドのアドレスを構成して、 MongoDBデータベース配置を再構成します。

データベースがKubernetes外、または 別の名前空間にある場合は、spec.external を使用してデータベースへの接続を構成します。このフィールドはspec.external と排他関係にあります。

省略した場合、Kubernetes演算子は、このMongoDBSearchリソースと同じ名前を持つMongoDBまたはMongoDBCommunityリソースを検索します。

spec.source.username

: string

Username to use to authenticate mongot with mongod. The specified user must have the searchCoordinator role. If omitted, the Kubernetes Operator assumes the username is search-sync-source.

spec.source.passwordSecretRef.name

: string

mongotmongod で認証するために使用する必要があるパスワードを含むシークレットの名前。省略した場合、デフォルトは <MongoDBSearch.metadata.name>-search-sync-source-password になります。

spec.source.passwordSecretRef.key

: string

パスワード値がシークレットで保存されるキー。省略した場合、デフォルトは password になります。

次の設定は、外部MongoDBレプリカセットへの接続を構成する場合にのみ必要です。

spec.source.external

: オブジェクト

外部データソースを説明する設定。このオブジェクトでは、 MongoDB Search およびベクトル検索リソースが外部のMongoDBに接続するための設定を記述します。これらの設定は、 Kubernetes演算子を使用して配置されなかった外部MongoDBに接続する場合にのみ指定する必要があります。指定すると、これらの設定は spec.source.mongodbResourceRef.name の 設定を上書きします。Kubernetes Operator を使用して同じクラスターにMongoDBをインストールした場合、これらの設定は任意です。

spec.source.external.hostAndPorts

タイプ: 文字列の配列

外部レプリカセットのホスト名とポートのリスト。これは、 MongoDBレプリカセットへのホストシードリストです。mongot はレプリカセットモードでデータベースに接続し、db.hello() を使用して他のすべてのノードのリストを取得します。

hostAndPorts:
- mdbc-rs-0.my-external-domain.example.com:27017
- mdbc-rs-1.my-external-domain.example.com:27017
- mdbc-rs-2.my-external-domain.example.com:27017
spec.source.external.tls

: オブジェクト

TLS 設定は、外部MongoDBデータベースに接続するときに mongot が使用する必要があります。

spec.source.external.tls.ca.name

: string

mongod ノードで使用される TLS 証明書を発行した証明機関の信頼できるチェーンを含む Secret の名前。

spec:
source:
external:
tls:
ca:
name: trusted-ca

証明書(または信頼できる CA 証明書のチェーンである場合は の証明書)は、このシークレット内の ca.crt キーの下に指定する必要があります。

name: Secret
apiVersion: v1
metadata:
name: trusted-ca
data:
ca.crt: |
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIIH3EOUAGAsx0wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE
[...]
U/4rN8Ias/FONYFRtGfs9uXHmo2MP04BF+9ED2dlbNDUbat+6XCozLJj98nI4VEi
qaV3JrVFHTgN
-----END CERTIFICATE-----
spec.security

: オブジェクト

mongot listenサーバーのセキュリティ設定。

spec.security.tls

: オブジェクト

TLS settings for mongot. If omitted, mongot won't use TLS for incoming connections.

spec.security.tls.certificateKeySecretRef.name

: string

秘密キー(tls.key )と証明書( )を含む同じ名前空間内の TLStls.crt シークレットの名前。シークレットは、タイプkubernetes.io/tls (証明書マネージャーによって発行される)または手動で作成することができます。これは、 で TLS を有効にするために必要です。mongot

spec.resourceRequirements

タイプ: Core/v1 /ResourceRequirements

mongodb-searchコンテナがリクエスト、制限する CPU とメモリ。spec.statefulSet で上書きするのではなく、このフィールドを使用してリソース割り当てをカスタマイズすることをおすすめします。

省略した場合、 Kubernetes演算子は次のデフォルト値を使用します。

requests:
cpu: 2
memory: 2G
spec.resourceRequirements.limits

: オブジェクト

mongodb-searchコンテナが消費できるリソース、CPU、メモリの上限。デフォルトでは 、制限は設定されていません。省略した場合、ポッドは制限されないため、 はノード上のすべてのリソースを使用する可能性があります。ワークロードに基づいて制限を設定することをお勧めします。

spec.resourceRequirements.requests

: オブジェクト

mongodb-searchコンテナに要求される CPU とメモリの量。省略した場合、 Kubernetes演算子は次のデフォルト値を使用します。

requests:
cpu: 2
memory: 2G
spec.persistence.single

: オブジェクト

MongoDB Search およびベクトル検索永続ボリュームのストレージ構成。MongoDB Search インデックスとベクトル検索インデックスが保存されます。各検索インスタンス(ポッド)には、インデックスを維持するための独自のストレージがあります。これはMongoDBデータベースとは共有されません。データベース自体には、インデックスメタデータ(定義)のみが保存されます。

スカラー
データ型
説明

labelSelector

string

storage

string

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

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

例、レプリカセットに 60ギガバイトのストレージ容量が必要な場合は、この値を60Gi に設定します。

storageClass

string

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

Make sure to set the StorageClass reclaimPolicy to Retain. This ensures that data is retained when a Persistent Volume Claim is removed.

MongoDBSearch は single 永続フィールドのみをサポートしています。省略した場合、Kubernetes演算子は spec.persistence.single.storage10GB に設定します。

spec.logLevel

: string

mongot ログの冗長度。値は次のいずれかになります。

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

省略した場合、デフォルトは INFO になります。

spec.prometheus

: オブジェクト

これは、v1.6 以降でのみ使用できます。

Prometheus メトリクス エンドポイントとなる接続されたデバイスを有効にする構成。省略した場合、mongot のメトリクス エンドポイントとなる接続されたデバイスは無効になります。デフォルトポート(9946)で Prometheus メトリクス エンドポイントとなる接続されたデバイスを有効にするには、spec.prometheusフィールドに空の {}オブジェクトを指定します。ポートを変更するには、spec.prometheus.portフィールドに設定します。

spec.prometheus.port

: string

Prometheus メトリクス エンドポイントとなる接続されたデバイスを有効にするポート。デフォルトでは、Prometheus メトリクス エンドポイントとなる接続されたデバイスはポート 9946 で有効になっています。

spec.version

: string

mongodb-search docker イメージのバージョン。省略した場合、 Kubernetes 演算子は MongoDBSearch の最新バージョンを自動的に選択します。Kubernetes 演算子のバージョンがアップグレードされるときに、自動アップグレードを防止するために明示的に設定することができます。

spec.statefulSet

タイプ: apps/v1 /StateulSet

mongotポッドを配置するために作成されたspec.statefulSet.spec spec.statefulSet.metadataAtlas App Services の仕様で、 Kubernetes演算子が適用する設定を上書きします。上書きは常に最後に適用されます。 フィールドと フィールドの両方をサポートします。

注意

spec.statefulSet を使用してリソース要件や永続性設定を設定しないでください。代わりに、それぞれ spec.resourceRequirementsspec.persistence フィールドを使用してください。