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

MongoDB Community Edition でのインストールと使用

Kubernetes演算子を使用して、mongotプロセスリソースを配置して、Kubernetesクラスター上のMongoDB Community Edition v8.2.0以降で実行できます。The mongot process supports both MongoDB Search and ベクトル検索. 必要に応じて、サポートされているVoyage AI埋め込みモデルを使用して、コレクションとクエリ内のテキストデータのベクトル埋め込みを自動的に生成するようにベクトル検索を有効にして構成できます。

重要

自動埋め込みはプレビュー段階です。機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。「プレビュー機能」を参照してください。

次の手順は、Kubernetes クラスターで新規または既存のレプリカセットを使用して MongoDB Search とベクトル検索を配置するし実行する方法を示します。配置では、MongoDB ノードと mongot 検索プロセス間の安全な通信を確保するために TLS 証明書を使用します。

MongoDB Search とベクトル検索を配置するには、次のものが必要です。

  • 実行中の Kubernetes クラスター。

  • Kubernetesコマンドライン ツール(kubectl)は、クラスターと通信するように構成されています。

  • Helm、Kubernetesのパッケージマネージャーである Helm は、 Kubernetes演算子をインストールします。

  • TLS 証明書プロビジョニング用の cert-manager または代替の証明書マネジメントソリューションです。

  • このチュートリアルのコマンドを実行中には、Batch v5.1 以降を使用してください。

オプションとして、コレクションとクエリ内のテキスト データのベクトル埋め込みを自動的に生成するようにベクトル検索 を構成するには、埋め込みサービスのAPIキーを作成する必要があります。コレクション内のテキストデータに対してインデックス時に埋め込みを生成するため、もう 1 つはクエリテキストのクエリ時に埋め込みを生成するための 2 つのキーを作成することをお勧めします。キーがない場合は、Atlas UIからキーを作成できます。

1

この手順の後続のステップで使用する環境変数を設定します。次のコマンドをコピーして、環境の値を更新し、それらを実行することで変数をロードします。

1# set it to the context name of the k8s cluster
2export K8S_CTX="<local cluster context>"
3
4# the following namespace will be created if not exists
5export MDB_NS="mongodb"
6
7# MongoDBCommunity resource name referenced throughout the guide
8export MDB_RESOURCE_NAME="mdbc-rs"
9# Number of replica set members deployed in the sample MongoDBCommunity
10export MDB_MEMBERS=3
11
12# TLS-related secret names used for MongoDBCommunity and MongoDBSearch
13export MDB_TLS_CA_SECRET_NAME="${MDB_RESOURCE_NAME}-ca"
14export MDB_TLS_SERVER_CERT_SECRET_NAME="${MDB_RESOURCE_NAME}-tls"
15export MDB_SEARCH_TLS_SECRET_NAME="${MDB_RESOURCE_NAME}-search-tls"
16
17export MDB_TLS_CA_CONFIGMAP="${MDB_RESOURCE_NAME}-ca-configmap"
18export MDB_TLS_SELF_SIGNED_ISSUER="${MDB_RESOURCE_NAME}-selfsigned-cluster-issuer"
19export MDB_TLS_CA_CERT_NAME="${MDB_RESOURCE_NAME}-selfsigned-ca"
20export MDB_TLS_CA_ISSUER="${MDB_RESOURCE_NAME}-cluster-issuer"
21
22export MDB_VERSION="8.3.4"
23
24# root admin user for convenience, not used here at all in this guide
25export MDB_ADMIN_USER_PASSWORD="admin-user-password-CHANGE-ME"
26# regular user performing restore and search queries on sample mflix database
27export MDB_USER_PASSWORD="mdb-user-password-CHANGE-ME"
28# user for MongoDB Search to connect to the replica set to synchronise data from
29export MDB_SEARCH_SYNC_USER_PASSWORD="search-sync-user-password-CHANGE-ME"
30
31export OPERATOR_HELM_CHART="mongodb/mongodb-kubernetes"
32# comma-separated key=value pairs for additional parameters passed to the helm-chart installing the operator
33export OPERATOR_ADDITIONAL_HELM_VALUES=""
34
35# TLS is mandatory; connection string must include tls=true
36export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}&tls=true&tlsCAFile=/tls/ca.crt"
37
38export CERT_MANAGER_NAMESPACE="cert-manager"
39
40# Vector Search auto embedding related configurations
41export AUTO_EMBEDDING_API_KEY_SECRET_NAME="voyage-api-keys"
42export AUTO_EMBEDDING_API_QUERY_KEY="<embedding-model-query-key>"
43export AUTO_EMBEDDING_API_INDEXING_KEY="<embedding-model-indexing-key>"
44export PROVIDER_ENDPOINT="https://ai.mongodb.com/v1/embeddings"
45export EMBEDDING_MODEL="voyage-4"

注意

ベクトル検索が埋め込みを自動的に生成できるようにするAPIキーがある場合は、環境変数内の次のプレースホルダー値を置き換えます。

AUTO_EMBEDDING_API_QUERY_KEY

APIキー。

AUTO_EMBEDDING_API_INDEXING_KEY

APIキーでインデックス時にコレクション内のテキスト データの埋め込みを生成します。

PROVIDER_ENDPOINT

埋め込みモデルプロバイダーの、エンドポイントとなる接続されたデバイス。Atlas UIから作成されたキーの場合、値のデフォルトは https://ai.mongodb.com/v1/embeddings です。Voyage AIから直接APIキーを作成した場合は、 を https://api.voyageai.com/v1/embeddings に置き換えます。

環境変数が設定されていることを検証します。

必要な環境変数がすべて設定されていることを確認するには、ターミナルで次のコードを実行します。

1required=(
2 K8S_CTX
3 MDB_NS
4 MDB_RESOURCE_NAME
5 MDB_VERSION
6 MDB_MEMBERS
7 CERT_MANAGER_NAMESPACE
8 MDB_TLS_CA_SECRET_NAME
9 MDB_TLS_SERVER_CERT_SECRET_NAME
10 MDB_SEARCH_TLS_SECRET_NAME
11 MDB_ADMIN_USER_PASSWORD
12 MDB_SEARCH_SYNC_USER_PASSWORD
13 MDB_USER_PASSWORD
14 OPERATOR_HELM_CHART
15)
16
17missing_req=()
18for v in "${required[@]}"; do [[ -n "${!v:-}" ]] || missing_req+=("${v}"); done
19
20if (( ${#missing_req[@]} )); then
21 echo "ERROR: Missing required environment variables:" >&2
22 for m in "${missing_req[@]}"; do echo " - ${m}" >&2; done
23else
24 echo "All required environment variables present."
25fi
2

Helm は、Kubernetes上のMongoDBインスタンスの配置とマネジメントを自動化します。Kubernetes Operator 演算子をインストールするための Helmチャートを含む Helmリポジトリがすでに存在する場合は、 または がこの手順をスキップします。それ以外の場合は、 Helmリポジトリを追加します。

Helmリポジトリを追加するには、以下をコピーして貼り付け、実行する。

1helm repo add mongodb https://mongodb.github.io/helm-charts
2helm repo update mongodb
3helm search repo mongodb/mongodb-kubernetes
1"mongodb" has been added to your repositories
2Hang tight while we grab the latest from your chart repositories...
3...Successfully got an update from the "mongodb" chart repository
4Update Complete. ⎈Happy Helming!⎈
5NAME CHART VERSION APP VERSION DESCRIPTION
6mongodb/mongodb-kubernetes 1.10.0 MongoDB Controllers for Kubernetes translate th...
3

Kubernetes 演算子は、MongoDBCommunity と MongoDBSearch のカスタム リソースを監視し、 MongoDB配置のライフサイクルを管理します。MongoDB Controls for Kubernetes Operator をすでにインストールしている場合は、この手順をスキップします。それ以外の場合は、前の手順で追加した HelmリポジトリからMongoDB Controls for Kubernetes 演算子 をインストールします。

MongoDB Controllers for Kubernetes 演算子を mongodb 名前空間にインストールするには、次のコマンドをコピー、貼り付け、実行します。

1helm upgrade --install --debug --kube-context "${K8S_CTX}" \
2 --create-namespace \
3 --namespace="${MDB_NS}" \
4 mongodb-kubernetes \
5 ${OPERATOR_ADDITIONAL_HELM_VALUES:+--set ${OPERATOR_ADDITIONAL_HELM_VALUES}} \
6 "${OPERATOR_HELM_CHART}"
1Release "mongodb-kubernetes" does not exist. Installing it now.
2NAME: mongodb-kubernetes
3LAST DEPLOYED: Fri Jul 31 08:16:12 2026
4NAMESPACE: mongodb
5STATUS: deployed
6REVISION: 1
7TEST SUITE: None
8USER-SUPPLIED VALUES:
9{}
10
11COMPUTED VALUES:
12agent:
13 name: mongodb-agent
14 version: 108.0.12.8846-1
15community:
16 agent:
17 name: mongodb-agent
18 version: 108.0.25.9029-1
19 mongodb:
20 imageType: ubi8
21 name: mongodb-community-server
22 repo: quay.io/mongodb
23 registry:
24 agent: quay.io/mongodb
25 resource:
26 members: 3
27 name: mongodb-replica-set
28 tls:
29 caCertificateSecretRef: tls-ca-key-pair
30 certManager:
31 certDuration: 8760h
32 renewCertBefore: 720h
33 certificateKeySecretRef: tls-certificate
34 enabled: false
35 sampleX509User: false
36 useCertManager: true
37 useX509: false
38 version: 4.4.0
39database:
40 name: mongodb-kubernetes-database
41 version: 1.10.0
42initDatabase:
43 name: mongodb-kubernetes-init-database
44 version: 1.10.0
45initOpsManager:
46 name: mongodb-kubernetes-init-ops-manager
47 version: 1.10.0
48managedSecurityContext: false
49mongodb:
50 appdbAssumeOldFormat: false
51 name: mongodb-enterprise-server
52 repo: quay.io/mongodb
53multiCluster:
54 clusterClientTimeout: 10
55 clusters: []
56 kubeConfigSecretName: mongodb-enterprise-operator-multi-cluster-kubeconfig
57 memberClusterRequiredHealthyStreak: 5
58 performFailOver: true
59operator:
60 additionalArguments: []
61 affinity: {}
62 clusterIdentity:
63 clusterName: ""
64 createOperatorServiceAccount: true
65 createResourcesServiceAccountsAndRoles: true
66 enableClusterMongoDBRoles: true
67 enablePVCResize: true
68 env: prod
69 maxConcurrentReconciles: 1
70 mdbDefaultArchitecture: non-static
71 name: mongodb-kubernetes-operator
72 nodeSelector: {}
73 operator_image_name: mongodb-kubernetes
74 podSecurityContext:
75 runAsNonRoot: true
76 runAsUser: 2000
77 seccompProfile:
78 type: RuntimeDefault
79 replicas: 1
80 resources:
81 limits:
82 cpu: 1100m
83 memory: 1Gi
84 requests:
85 cpu: 500m
86 memory: 200Mi
87 securityContext:
88 allowPrivilegeEscalation: false
89 capabilities:
90 drop:
91 - ALL
92 telemetry:
93 collection:
94 clusters: {}
95 deployments: {}
96 frequency: 1h
97 operators: {}
98 send:
99 frequency: 168h
100 tolerations: []
101 vaultSecretBackend:
102 enabled: false
103 tlsSecretRef: ""
104 version: 1.10.0
105 watchedResources:
106 - mongodb
107 - opsmanagers
108 - mongodbusers
109 - mongodbcommunity
110 - mongodbsearch
111 - voyageais
112 webhook:
113 installClusterRole: true
114 name: ""
115 registerConfiguration: true
116opsManager:
117 name: mongodb-enterprise-ops-manager-ubi
118readinessProbe:
119 name: mongodb-kubernetes-readinessprobe
120 version: 1.0.24
121registry:
122 agent: quay.io/mongodb
123 database: quay.io/mongodb
124 imagePullSecrets: null
125 initDatabase: quay.io/mongodb
126 initOpsManager: quay.io/mongodb
127 operator: quay.io/mongodb
128 opsManager: quay.io/mongodb
129 pullPolicy: Always
130 readinessProbe: quay.io/mongodb
131 versionUpgradeHook: quay.io/mongodb
132search:
133 envoyImage: envoyproxy/envoy:v1.37-latest
134 metricsForwarderImage: otel/opentelemetry-collector-contrib:0.152.0
135 name: mongodb-search
136 repo: quay.io/mongodb
137 version: 1.70.1
138versionUpgradeHook:
139 name: mongodb-kubernetes-operator-version-upgrade-post-start-hook
140 version: 1.0.10
141voyageai:
142 repo: quay.io/mongodb/voyageai
143
144HOOKS:
145MANIFEST:
146---
147# Source: mongodb-kubernetes/templates/database-roles.yaml
148apiVersion: v1
149kind: ServiceAccount
150metadata:
151 name: mongodb-kubernetes-appdb
152 namespace: mongodb
153---
154# Source: mongodb-kubernetes/templates/database-roles.yaml
155apiVersion: v1
156kind: ServiceAccount
157metadata:
158 name: mongodb-kubernetes-database-pods
159 namespace: mongodb
160---
161# Source: mongodb-kubernetes/templates/database-roles.yaml
162apiVersion: v1
163kind: ServiceAccount
164metadata:
165 name: mongodb-kubernetes-ops-manager
166 namespace: mongodb
167---
168# Source: mongodb-kubernetes/templates/operator-sa.yaml
169apiVersion: v1
170kind: ServiceAccount
171metadata:
172 name: mongodb-kubernetes-operator
173 namespace: mongodb
174---
175# Source: mongodb-kubernetes/templates/operator-roles-clustermongodbroles.yaml
176kind: ClusterRole
177apiVersion: rbac.authorization.k8s.io/v1
178metadata:
179 name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role
180rules:
181 - apiGroups:
182 - mongodb.com
183 verbs:
184 - '*'
185 resources:
186 - clustermongodbroles
187---
188# Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml
189# Additional ClusterRole for clusterVersionDetection
190kind: ClusterRole
191apiVersion: rbac.authorization.k8s.io/v1
192metadata:
193 name: mongodb-kubernetes-operator-cluster-telemetry
194rules:
195 # Non-resource URL permissions
196 - nonResourceURLs:
197 - "/version"
198 verbs:
199 - get
200 # Cluster-scoped resource permissions
201 - apiGroups:
202 - ''
203 resources:
204 - namespaces
205 resourceNames:
206 - kube-system
207 verbs:
208 - get
209 - apiGroups:
210 - ''
211 resources:
212 - nodes
213 verbs:
214 - list
215---
216# Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml
217kind: ClusterRole
218apiVersion: rbac.authorization.k8s.io/v1
219metadata:
220 name: mongodb-kubernetes-operator-mongodb-webhook-cr
221rules:
222 - apiGroups:
223 - "admissionregistration.k8s.io"
224 resources:
225 - validatingwebhookconfigurations
226 verbs:
227 - get
228 - create
229 - update
230 - delete
231 - apiGroups:
232 - ""
233 resources:
234 - services
235 verbs:
236 - get
237 - list
238 - watch
239 - create
240 - update
241 - delete
242---
243# Source: mongodb-kubernetes/templates/operator-roles-clustermongodbroles.yaml
244kind: ClusterRoleBinding
245apiVersion: rbac.authorization.k8s.io/v1
246metadata:
247 name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role-binding
248roleRef:
249 apiGroup: rbac.authorization.k8s.io
250 kind: ClusterRole
251 name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role
252subjects:
253 - kind: ServiceAccount
254 name: mongodb-kubernetes-operator
255 namespace: mongodb
256---
257# Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml
258# ClusterRoleBinding for clusterVersionDetection
259kind: ClusterRoleBinding
260apiVersion: rbac.authorization.k8s.io/v1
261metadata:
262 name: mongodb-kubernetes-operator-mongodb-cluster-telemetry-binding
263roleRef:
264 apiGroup: rbac.authorization.k8s.io
265 kind: ClusterRole
266 name: mongodb-kubernetes-operator-cluster-telemetry
267subjects:
268 - kind: ServiceAccount
269 name: mongodb-kubernetes-operator
270 namespace: mongodb
271---
272# Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml
273kind: ClusterRoleBinding
274apiVersion: rbac.authorization.k8s.io/v1
275metadata:
276 name: mongodb-kubernetes-operator-mongodb-webhook-crb
277roleRef:
278 apiGroup: rbac.authorization.k8s.io
279 kind: ClusterRole
280 name: mongodb-kubernetes-operator-mongodb-webhook-cr
281subjects:
282 - kind: ServiceAccount
283 name: mongodb-kubernetes-operator
284 namespace: mongodb
285---
286# Source: mongodb-kubernetes/templates/database-roles.yaml
287kind: Role
288apiVersion: rbac.authorization.k8s.io/v1
289metadata:
290 name: mongodb-kubernetes-appdb
291 namespace: mongodb
292rules:
293 - apiGroups:
294 - ''
295 resources:
296 - secrets
297 verbs:
298 - get
299 - apiGroups:
300 - ''
301 resources:
302 - pods
303 verbs:
304 - patch
305 - delete
306 - get
307---
308# Source: mongodb-kubernetes/templates/operator-roles-base.yaml
309kind: Role
310apiVersion: rbac.authorization.k8s.io/v1
311metadata:
312 name: mongodb-kubernetes-operator
313 namespace: mongodb
314rules:
315 - apiGroups:
316 - ''
317 resources:
318 - services
319 verbs:
320 - get
321 - list
322 - watch
323 - create
324 - update
325 - delete
326 - apiGroups:
327 - ''
328 resources:
329 - secrets
330 - configmaps
331 verbs:
332 - get
333 - list
334 - create
335 - update
336 - delete
337 - watch
338 - apiGroups:
339 - apps
340 resources:
341 - statefulsets
342 - deployments
343 verbs:
344 - create
345 - get
346 - list
347 - watch
348 - delete
349 - update
350 - apiGroups:
351 - ''
352 resources:
353 - pods
354 verbs:
355 - get
356 - list
357 - watch
358 - delete
359 - deletecollection
360 - apiGroups:
361 - mongodbcommunity.mongodb.com
362 resources:
363 - mongodbcommunity
364 - mongodbcommunity/status
365 - mongodbcommunity/spec
366 - mongodbcommunity/finalizers
367 verbs:
368 - '*'
369 - apiGroups:
370 - mongodb.com
371 verbs:
372 - '*'
373 resources:
374 - mongodb
375 - mongodb/finalizers
376 - mongodbusers
377 - mongodbusers/finalizers
378 - opsmanagers
379 - opsmanagers/finalizers
380 - mongodbmulticluster
381 - mongodbmulticluster/finalizers
382 - mongodbsearch
383 - mongodbsearch/finalizers
384 - mongodb/status
385 - mongodbusers/status
386 - opsmanagers/status
387 - mongodbmulticluster/status
388 - mongodbsearch/status
389 - apiGroups:
390 - ai.mongodb.com
391 verbs:
392 - '*'
393 resources:
394 - voyageais
395 - voyageais/finalizers
396 - voyageais/status
397---
398# Source: mongodb-kubernetes/templates/operator-roles-pvc-resize.yaml
399kind: Role
400apiVersion: rbac.authorization.k8s.io/v1
401metadata:
402 name: mongodb-kubernetes-operator-pvc-resize
403 namespace: mongodb
404rules:
405 - apiGroups:
406 - ''
407 resources:
408 - persistentvolumeclaims
409 verbs:
410 - get
411 - delete
412 - list
413 - watch
414 - patch
415 - update
416---
417# Source: mongodb-kubernetes/templates/database-roles.yaml
418kind: RoleBinding
419apiVersion: rbac.authorization.k8s.io/v1
420metadata:
421 name: mongodb-kubernetes-appdb
422 namespace: mongodb
423roleRef:
424 apiGroup: rbac.authorization.k8s.io
425 kind: Role
426 name: mongodb-kubernetes-appdb
427subjects:
428 - kind: ServiceAccount
429 name: mongodb-kubernetes-appdb
430 namespace: mongodb
431---
432# Source: mongodb-kubernetes/templates/operator-roles-base.yaml
433kind: RoleBinding
434apiVersion: rbac.authorization.k8s.io/v1
435metadata:
436 name: mongodb-kubernetes-operator
437 namespace: mongodb
438roleRef:
439 apiGroup: rbac.authorization.k8s.io
440 kind: Role
441 name: mongodb-kubernetes-operator
442subjects:
443 - kind: ServiceAccount
444 name: mongodb-kubernetes-operator
445 namespace: mongodb
446---
447# Source: mongodb-kubernetes/templates/operator-roles-pvc-resize.yaml
448kind: RoleBinding
449apiVersion: rbac.authorization.k8s.io/v1
450metadata:
451 name: mongodb-kubernetes-operator-pvc-resize-binding
452 namespace: mongodb
453roleRef:
454 apiGroup: rbac.authorization.k8s.io
455 kind: Role
456 name: mongodb-kubernetes-operator-pvc-resize
457subjects:
458 - kind: ServiceAccount
459 name: mongodb-kubernetes-operator
460 namespace: mongodb
461---
462# Source: mongodb-kubernetes/templates/operator.yaml
463apiVersion: apps/v1
464kind: Deployment
465metadata:
466 name: mongodb-kubernetes-operator
467 namespace: mongodb
468spec:
469 replicas: 1
470 selector:
471 matchLabels:
472 app.kubernetes.io/component: controller
473 app.kubernetes.io/name: mongodb-kubernetes-operator
474 app.kubernetes.io/instance: mongodb-kubernetes-operator
475 template:
476 metadata:
477 labels:
478 app.kubernetes.io/component: controller
479 app.kubernetes.io/name: mongodb-kubernetes-operator
480 app.kubernetes.io/instance: mongodb-kubernetes-operator
481 annotations:
482 mongodb.com/installation-method: "helm"
483 spec:
484 serviceAccountName: mongodb-kubernetes-operator
485 securityContext:
486 runAsNonRoot: true
487 runAsUser: 2000
488 seccompProfile:
489 type: RuntimeDefault
490 containers:
491 - name: mongodb-kubernetes-operator
492 image: "quay.io/mongodb/mongodb-kubernetes:1.10.0"
493 imagePullPolicy: Always
494 args:
495 - -watch-resource=mongodb
496 - -watch-resource=opsmanagers
497 - -watch-resource=mongodbusers
498 - -watch-resource=mongodbcommunity
499 - -watch-resource=mongodbsearch
500 - -watch-resource=voyageais
501 - -watch-resource=clustermongodbroles
502 command:
503 - /usr/local/bin/mongodb-kubernetes-operator
504 volumeMounts:
505 - mountPath: /tmp/k8s-webhook-server/serving-certs
506 name: webhook-server-dir
507 resources:
508 limits:
509 cpu: 1100m
510 memory: 1Gi
511 requests:
512 cpu: 500m
513 memory: 200Mi
514 securityContext:
515 allowPrivilegeEscalation: false
516 capabilities:
517 drop:
518 - ALL
519 env:
520 - name: OPERATOR_ENV
521 value: prod
522 - name: MDB_DEFAULT_ARCHITECTURE
523 value: non-static
524 - name: NAMESPACE
525 valueFrom:
526 fieldRef:
527 fieldPath: metadata.namespace
528 - name: WATCH_NAMESPACE
529 valueFrom:
530 fieldRef:
531 fieldPath: metadata.namespace
532 - name: MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY
533 value: "1h"
534 - name: MDB_OPERATOR_TELEMETRY_SEND_FREQUENCY
535 value: "168h"
536 - name: CLUSTER_CLIENT_TIMEOUT
537 value: "10"
538 - name: MDB_MEMBER_CLUSTER_REQUIRED_HEALTHY_STREAK
539 value: "5"
540 - name: IMAGE_PULL_POLICY
541 value: Always
542 # Database
543 - name: MONGODB_ENTERPRISE_DATABASE_IMAGE
544 value: quay.io/mongodb/mongodb-kubernetes-database
545 - name: INIT_DATABASE_IMAGE_REPOSITORY
546 value: quay.io/mongodb/mongodb-kubernetes-init-database
547 - name: INIT_DATABASE_VERSION
548 value: "1.10.0"
549 - name: DATABASE_VERSION
550 value: "1.10.0"
551 # Ops Manager
552 - name: OPS_MANAGER_IMAGE_REPOSITORY
553 value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi
554 - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY
555 value: quay.io/mongodb/mongodb-kubernetes-init-ops-manager
556 - name: INIT_OPS_MANAGER_VERSION
557 value: "1.10.0"
558 - name: OPS_MANAGER_IMAGE_PULL_POLICY
559 value: Always
560 - name: AGENT_IMAGE
561 value: "quay.io/mongodb/mongodb-agent:108.0.12.8846-1"
562 - name: MDB_AGENT_IMAGE_REPOSITORY
563 value: "quay.io/mongodb/mongodb-agent"
564 - name: MONGODB_IMAGE
565 value: mongodb-enterprise-server
566 - name: MONGODB_REPO_URL
567 value: quay.io/mongodb
568 - name: PERFORM_FAILOVER
569 value: 'true'
570 - name: MDB_MAX_CONCURRENT_RECONCILES
571 value: "1"
572 - name: POD_NAME
573 valueFrom:
574 fieldRef:
575 fieldPath: metadata.name
576 - name: MCK_INSTALLER
577 valueFrom:
578 fieldRef:
579 fieldPath: metadata.annotations['mongodb.com/installation-method']
580 - name: OPERATOR_NAME
581 value: mongodb-kubernetes-operator
582 # Community Env Vars Start
583 - name: MDB_COMMUNITY_AGENT_IMAGE
584 value: "quay.io/mongodb/mongodb-agent:108.0.25.9029-1"
585 - name: VERSION_UPGRADE_HOOK_IMAGE
586 value: "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook:1.0.10"
587 - name: READINESS_PROBE_IMAGE
588 value: "quay.io/mongodb/mongodb-kubernetes-readinessprobe:1.0.24"
589 - name: MDB_COMMUNITY_IMAGE
590 value: "mongodb-community-server"
591 - name: MDB_COMMUNITY_REPO_URL
592 value: "quay.io/mongodb"
593 - name: MDB_COMMUNITY_IMAGE_TYPE
594 value: "ubi8"
595 # Community Env Vars End
596 - name: MDB_SEARCH_REPO_URL
597 value: "quay.io/mongodb"
598 - name: MDB_SEARCH_NAME
599 value: "mongodb-search"
600 - name: MDB_SEARCH_VERSION
601 value: "1.70.1"
602 - name: MDB_ENVOY_IMAGE
603 value: "envoyproxy/envoy:v1.37-latest"
604 - name: MDB_SEARCH_METRICS_FORWARDER_IMAGE
605 value: "otel/opentelemetry-collector-contrib:0.152.0"
606 - name: MDB_VOYAGEAI_REPO_URL
607 value: "quay.io/mongodb/voyageai"
608 volumes:
609 - name: webhook-server-dir
610 emptyDir: {}
4

MongoDB 検索する および ベクトル検索 の配置に進む前に、 Kubernetes 演算子 が完全に機能していることを確認してください。次のコマンドを実行して、すべての演算子コンポーネントが実行中、使用できることを確認します。

1kubectl --context "${K8S_CTX}" -n "${MDB_NS}" rollout status --timeout=2m deployment/mongodb-kubernetes-operator
2echo "Operator deployment in ${MDB_NS} namespace"
3kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get deployments
4echo; echo "Operator pod in ${MDB_NS} namespace"
5kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods
1Waiting for deployment "mongodb-kubernetes-operator" rollout to finish: 0 of 1 updated replicas are available...
2deployment "mongodb-kubernetes-operator" successfully rolled out
3Operator deployment in mongodb namespace
4NAME READY UP-TO-DATE AVAILABLE AGE
5mongodb-kubernetes-operator 1/1 1 1 2s
6
7Operator pod in mongodb namespace
8NAME READY STATUS RESTARTS AGE
9mongodb-kubernetes-operator-5594c7cd4c-dn82g 1/1 Running 0 2s
5

MongoDB、安全なアクセスのために認証が必要です。この手順では、3 つのKubernetesシークレットを作成します。

  • mdb-admin-user-password: MongoDB管理者の認証情報。

  • mdb-user-password: 検索クエリを実行する権限を持つユーザーの認証情報。

  • mdbc-rs-search-sync-source-password: データを同期し、インデックスを管理するために mongot プロセスによって内部的に使用される専用検索ユーザーの認証情報。

Kubernetes 演算子は、これらのシークレットからパスワードを使用して、MongoDBデータベースにユーザーを自動的に作成します。

シークレットを作成するには、次のコマンドをコピーして貼り付け、実行します。

1# Create admin user secret
2kubectl create secret generic mdb-admin-user-password \
3 --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" \
4 --dry-run=client -o yaml | kubectl apply --context "${K8S_CTX}" --namespace "${MDB_NS}" -f -
5
6# Create search sync source user secret
7kubectl create secret generic "${MDB_RESOURCE_NAME}-search-sync-source-password" \
8 --from-literal=password="${MDB_SEARCH_SYNC_USER_PASSWORD}" \
9 --dry-run=client -o yaml | kubectl apply --context "${K8S_CTX}" --namespace "${MDB_NS}" -f -
10
11# Create regular user secret
12kubectl create secret generic mdb-user-password \
13 --from-literal=password="${MDB_USER_PASSWORD}" \
14 --dry-run=client -o yaml | kubectl apply --context "${K8S_CTX}" --namespace "${MDB_NS}" -f -
15
16echo "User secrets created."
1secret/mdb-admin-user-password created
2secret/mdbc-rs-search-sync-source-password created
3secret/mdb-user-password created
6

TLS 証明書の管理には cert-manager が必要です。クラスターにすでに cert-manager がインストールされている場合は、この手順をスキップします。それ以外の場合は、Helm を使用して cert-manager をインストールします。

cert-manager名前空間に cert-manager をインストールするには、ターミナルで次のコマンドを実行します。

1helm upgrade --install \
2 cert-manager \
3 oci://quay.io/jetstack/charts/cert-manager \
4 --kube-context "${K8S_CTX}" \
5 --namespace "${CERT_MANAGER_NAMESPACE}" \
6 --create-namespace \
7 --set crds.enabled=true
8
9for deployment in cert-manager cert-manager-cainjector cert-manager-webhook; do
10 kubectl --context "${K8S_CTX}" \
11 -n "${CERT_MANAGER_NAMESPACE}" \
12 wait --for=condition=Available "deployment/${deployment}" --timeout=300s
13done
14
15echo "cert-manager is ready in namespace ${CERT_MANAGER_NAMESPACE}."
7

MongoDBMongoDBSearch リソースの TLS 証明書を発行する認証局インフラストラクチャを作成します。コマンドは、次のアクションを実行します。

  • 自己署名 ClusterIssuer を作成します。

  • CA 証明書を生成します。

  • すべての名前空間が使用できるクラスター全体の CA 発行者を公開します。

  • MongoDBリソースが CA バンドルを使用できるように、ConfigMap を通じて CA バンドルを公開します。

1# Bootstrap a self-signed ClusterIssuer that will mint the CA material consumed by
2# the MongoDBCommunity deployment.
3kubectl apply --context "${K8S_CTX}" -f - <<EOF_MANIFEST
4apiVersion: cert-manager.io/v1
5kind: ClusterIssuer
6metadata:
7 name: ${MDB_TLS_SELF_SIGNED_ISSUER}
8spec:
9 selfSigned: {}
10EOF_MANIFEST
11
12kubectl --context "${K8S_CTX}" wait --for=condition=Ready clusterissuer "${MDB_TLS_SELF_SIGNED_ISSUER}"
13
14# Create the CA certificate and secret in the cert-manager namespace.
15kubectl apply --context "${K8S_CTX}" -f - <<EOF_MANIFEST
16apiVersion: cert-manager.io/v1
17kind: Certificate
18metadata:
19 name: ${MDB_TLS_CA_CERT_NAME}
20 namespace: ${CERT_MANAGER_NAMESPACE}
21spec:
22 isCA: true
23 commonName: ${MDB_TLS_CA_CERT_NAME}
24 secretName: ${MDB_TLS_CA_SECRET_NAME}
25 privateKey:
26 algorithm: ECDSA
27 size: 256
28 issuerRef:
29 name: ${MDB_TLS_SELF_SIGNED_ISSUER}
30 kind: ClusterIssuer
31EOF_MANIFEST
32
33kubectl --context "${K8S_CTX}" wait --for=condition=Ready -n "${CERT_MANAGER_NAMESPACE}" certificate "${MDB_TLS_CA_CERT_NAME}"
34
35# Publish a cluster-scoped issuer that fronts the generated CA secret so all namespaces can reuse it.
36kubectl apply --context "${K8S_CTX}" -f - <<EOF_MANIFEST
37apiVersion: cert-manager.io/v1
38kind: ClusterIssuer
39metadata:
40 name: ${MDB_TLS_CA_ISSUER}
41spec:
42 ca:
43 secretName: ${MDB_TLS_CA_SECRET_NAME}
44EOF_MANIFEST
45
46kubectl --context "${K8S_CTX}" wait --for=condition=Ready clusterissuer "${MDB_TLS_CA_ISSUER}"
47
48TMP_CA_CERT="$(mktemp)"
49
50kubectl --context "${K8S_CTX}" \
51 get secret "${MDB_TLS_CA_SECRET_NAME}" -n "${CERT_MANAGER_NAMESPACE}" \
52 -o jsonpath="{.data['ca\\.crt']}" | base64 --decode > "${TMP_CA_CERT}"
53
54# Expose the CA bundle through a ConfigMap for workloads and the MongoDBCommunity resource.
55kubectl --context "${K8S_CTX}" create configmap "${MDB_TLS_CA_CONFIGMAP}" -n "${MDB_NS}" \
56 --from-file=ca-pem="${TMP_CA_CERT}" --from-file=mms-ca.crt="${TMP_CA_CERT}" \
57 --from-file=ca.crt="${TMP_CA_CERT}" \
58 --dry-run=client -o yaml | kubectl --context "${K8S_CTX}" apply -f -
59
60echo "Cluster-wide CA issuer ${MDB_TLS_CA_ISSUER} is ready."
8

MongoDBサーバーと MongoDBSearch サービスの両方のTLS証明書を発行します。MongoDBサーバー証明書には、ポッドとサービス通信に必要なすべての DNS 名が含まれます。どちらの証明書もサーバーとクライアントの認証をサポートしています。

1server_certificate="${MDB_RESOURCE_NAME}-server-tls"
2search_certificate="${MDB_RESOURCE_NAME}-search-tls"
3
4mongo_dns_names=()
5for ((member = 0; member < MDB_MEMBERS; member++)); do
6 mongo_dns_names+=("${MDB_RESOURCE_NAME}-${member}")
7 mongo_dns_names+=("${MDB_RESOURCE_NAME}-${member}.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local")
8done
9mongo_dns_names+=(
10 "${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local"
11 "*.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local"
12)
13
14search_dns_names=(
15 "*.${MDB_RESOURCE_NAME}-search-0-svc.${MDB_NS}.svc.cluster.local"
16)
17
18render_dns_list() {
19 local dns_list=("$@")
20 for dns in "${dns_list[@]}"; do
21 printf " - \"%s\"\n" "${dns}"
22 done
23}
24
25kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - <<EOF_MANIFEST
26apiVersion: cert-manager.io/v1
27kind: Certificate
28metadata:
29 name: ${server_certificate}
30 namespace: ${MDB_NS}
31spec:
32 secretName: ${MDB_TLS_SERVER_CERT_SECRET_NAME}
33 issuerRef:
34 name: ${MDB_TLS_CA_ISSUER}
35 kind: ClusterIssuer
36 duration: 240h0m0s
37 renewBefore: 120h0m0s
38 usages:
39 - digital signature
40 - key encipherment
41 - server auth
42 - client auth
43 dnsNames:
44$(render_dns_list "${mongo_dns_names[@]}")
45---
46apiVersion: cert-manager.io/v1
47kind: Certificate
48metadata:
49 name: ${search_certificate}
50 namespace: ${MDB_NS}
51spec:
52 secretName: ${MDB_SEARCH_TLS_SECRET_NAME}
53 issuerRef:
54 name: ${MDB_TLS_CA_ISSUER}
55 kind: ClusterIssuer
56 duration: 240h0m0s
57 renewBefore: 120h0m0s
58 usages:
59 - digital signature
60 - key encipherment
61 - server auth
62 - client auth
63 dnsNames:
64$(render_dns_list "${search_dns_names[@]}")
65EOF_MANIFEST
66
67kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait --for=condition=Ready certificate "${server_certificate}" --timeout=300s
68kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait --for=condition=Ready certificate "${search_certificate}" --timeout=300s
69
70echo "MongoDB TLS certificates have been issued."
9

MongoDB Community Edition をすでに配置している場合は、この手順をスキップします。それ以外の場合は、 MongoDB Community Edition を配置します。

MongoDB Community Edition を配置するには、次の手順を実行します。

  1. mdb-rs という名前の MongoDBCommunity カスタムリソースを作成します。

    このリソースは、mongod コンテナと mongodb-agent コンテナの CPU とメモリ リソースを定義し、次の 3 人のユーザーを設定します。

    mdb-user

    データベースを復元し、検索クエリを実行できるユーザー。このユーザーは mdb-user-password シークレットを使用してこれらの操作を実行します。

    search-sync-source

    MongoDB 検索するがMongoDBデータベースに接続し、インデックスを管理およびインデックスの構築を行うために使用するユーザー。このユーザーは、 Kubernetes演算子が作成する searchCoordinator ロールを使用します。これは mdbc-rs-search-sync-source-password シークレットを使用して、mongotmongod に接続します。

    admin-user

    データベース管理ユーザー。

    Kubernetes 演算子はこのリソースを使用して、3 ノードを持つMongoDBレプリカセットを構成します。

    シークレットを作成するには、次のコマンドをコピーして貼り付け、実行します。

    1kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - <<EOF
    2apiVersion: mongodbcommunity.mongodb.com/v1
    3kind: MongoDBCommunity
    4metadata:
    5 name: ${MDB_RESOURCE_NAME}
    6spec:
    7 version: ${MDB_VERSION}
    8 type: ReplicaSet
    9 members: ${MDB_MEMBERS}
    10 security:
    11 tls:
    12 enabled: true
    13 certificateKeySecretRef:
    14 name: ${MDB_TLS_SERVER_CERT_SECRET_NAME}
    15 caConfigMapRef:
    16 name: ${MDB_TLS_CA_CONFIGMAP}
    17 authentication:
    18 ignoreUnknownUsers: true
    19 modes:
    20 - SCRAM
    21 agent:
    22 logLevel: DEBUG
    23 statefulSet:
    24 spec:
    25 template:
    26 spec:
    27 containers:
    28 - name: mongod
    29 resources:
    30 limits:
    31 cpu: "2"
    32 memory: 2Gi
    33 requests:
    34 cpu: "1"
    35 memory: 1Gi
    36 - name: mongodb-agent
    37 resources:
    38 limits:
    39 cpu: "1"
    40 memory: 2Gi
    41 requests:
    42 cpu: "0.5"
    43 memory: 1Gi
    44 users:
    45 # admin user with root role
    46 - name: mdb-admin
    47 db: admin
    48 # a reference to the secret containing user password
    49 passwordSecretRef:
    50 name: mdb-admin-user-password
    51 scramCredentialsSecretName: mdb-admin-user
    52 roles:
    53 - name: root
    54 db: admin
    55 # user performing search queries
    56 - name: mdb-user
    57 db: admin
    58 # a reference to the secret containing user password
    59 passwordSecretRef:
    60 name: mdb-user-password
    61 scramCredentialsSecretName: mdb-user-scram
    62 roles:
    63 - name: restore
    64 db: sample_mflix
    65 - name: readWrite
    66 db: sample_mflix
    67 # user used by MongoDB Search to connect to MongoDB database to
    68 # synchronize data from.
    69 # For MongoDB <8.2, the operator will be creating the
    70 # searchCoordinator custom role automatically.
    71 # From MongoDB 8.2, searchCoordinator role will be a
    72 # built-in role.
    73 - name: search-sync-source
    74 db: admin
    75 # a reference to the secret that will be used to generate the user's password
    76 passwordSecretRef:
    77 name: ${MDB_RESOURCE_NAME}-search-sync-source-password
    78 scramCredentialsSecretName: ${MDB_RESOURCE_NAME}-search-sync-source
    79 roles:
    80 - name: searchCoordinator
    81 db: admin
    82EOF
  2. MongoDBCommunityリソースの配置が完了するまで待ちます。

    MongoDBCommunity カスタムリソースを適用すると、 Kubernetes演算子によってMongoDBノード(ポッド)の配置が開始されます。このステップでは、mdbc-rs リソースのステータス フェーズが Running になるまで実行を一時停止します。これはMongoDB Communityレプリカセットが操作可能であることを示します。

    1echo "Waiting for MongoDBCommunity resource to reach Running phase..."
    2kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait \
    3 --for=jsonpath='{.status.phase}'=Running mdbc/mdbc-rs --timeout=400s
    4echo; echo "MongoDBCommunity resource"
    5kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get mdbc/mdbc-rs
    6echo; echo "Pods running in cluster ${K8S_CTX}"
    7kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods
    1Waiting for MongoDBCommunity resource to reach Running phase...
    2mongodbcommunity.mongodbcommunity.mongodb.com/mdbc-rs condition met
    3
    4MongoDBCommunity resource
    5NAME PHASE VERSION
    6mdbc-rs Running 8.2
    7
    8Pods running in cluster minikube
    9NAME READY STATUS RESTARTS AGE
    10mdbc-rs-0 2/2 Running 0 2m30s
    11mdbc-rs-1 2/2 Running 0 82s
    12mdbc-rs-2 2/2 Running 0 38s
    13mongodb-kubernetes-operator-5776c8b4df-cppnf 1/1 Running 0 7m37s
10

負荷分散なしで、検索ノードの 1 つのインスタンスを配置できます。

配置するには、次の手順を実行します。

  1. mdbc-rs という名前の MongoDBSearch カスタムリソースを作成します。

    このリソースは、検索ノードの CPU とメモリのリソース要件を指定します。このカスタムリソースの設定の詳細については、MongoDB Search とベクトル検索の設定を参照してください。

    1# create a Kubernetes secret that would have embedding model's API Keys
    2kubectl create secret generic "${AUTO_EMBEDDING_API_KEY_SECRET_NAME}" \
    3 --from-literal=query-key="${AUTO_EMBEDDING_API_QUERY_KEY}" \
    4 --from-literal=indexing-key="${AUTO_EMBEDDING_API_INDEXING_KEY}" --context "${K8S_CTX}" -n "${MDB_NS}"
    5
    6# create MongoDBSearch resource, enabling the auto embedding using the API Keys provided above
    7kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - <<EOF
    8apiVersion: mongodb.com/v1
    9kind: MongoDBSearch
    10metadata:
    11 name: ${MDB_RESOURCE_NAME}
    12spec:
    13 security:
    14 tls:
    15 certificateKeySecretRef:
    16 name: ${MDB_SEARCH_TLS_SECRET_NAME}
    17 autoEmbedding:
    18 providerEndpoint: ${PROVIDER_ENDPOINT}
    19 embeddingModelAPIKeySecret:
    20 name: ${AUTO_EMBEDDING_API_KEY_SECRET_NAME}
    21 clusters:
    22 - resourceRequirements:
    23 limits:
    24 cpu: "3"
    25 memory: 5Gi
    26 requests:
    27 cpu: "2"
    28 memory: 3Gi
    29EOF

    注意

    Kubernetes Operator はMongoDB Search の 1 つのインスタンスのみを配置するため、そのインスタンスは埋め込みマテリアライズドビューライターとして自動的に構成されます。

    1kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - <<EOF
    2apiVersion: mongodb.com/v1
    3kind: MongoDBSearch
    4metadata:
    5 name: ${MDB_RESOURCE_NAME}
    6spec:
    7 security:
    8 tls:
    9 certificateKeySecretRef:
    10 name: ${MDB_SEARCH_TLS_SECRET_NAME}
    11 clusters:
    12 - resourceRequirements:
    13 limits:
    14 cpu: "3"
    15 memory: 5Gi
    16 requests:
    17 cpu: "2"
    18 memory: 3Gi
    19EOF
  2. MongoDBSearchリソースの配置が完了するまで待機します。

    MongoDBSearch カスタムリソースを適用すると、 Kubernetes演算子による検索ノード(ポッド)の配置が開始されます。このステップでは、mdbc-rs MongoDBSearch リソースのステータス フェーズが Running になるまで実行を一時停止します。これはMongoDB Search が操作可能であることを示します。

    1echo "Waiting for MongoDBSearch resource to reach Running phase..."
    2kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait \
    3 --for=jsonpath='{.status.phase}'=Running mdbs/"${MDB_RESOURCE_NAME}" --timeout=300s
11

MongoDBSearch を使用した MongoDBCommunityリソースの配置が成功させることを確認します。

1echo "Waiting for MongoDBCommunity resource to reach Running phase..."
2kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait \
3 --for=jsonpath='{.status.phase}'=Running mdbc/mdbc-rs --timeout=400s
4echo; echo "MongoDBCommunity resource"
5kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get mdbc/mdbc-rs
6echo; echo "Pods running in cluster ${K8S_CTX}"
7kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods
12

MongoDBレプリカセットノード、 Kubernetes演算子用のMongoDBコントロール、および検索ノードの名前空間ポッド内のすべての実行中中のポッドを表示します。

1echo; echo "MongoDBCommunity resource"
2kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get mdbc/mdbc-rs
3echo; echo "MongoDBSearch resource"
4kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get mdbs/mdbc-rs
5echo; echo "Pods running in cluster ${K8S_CTX}"
6kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods
1MongoDBCommunity resource
2NAME PHASE VERSION
3mdbc-rs Running 8.3.4
4
5MongoDBSearch resource
6NAME PHASE VERSION LOADBALANCER METRICSFORWARDER AGE
7mdbc-rs Running 1.70.1 Running 5m12s
8
9Pods running in cluster kind-kind
10NAME READY STATUS RESTARTS AGE
11mdbc-rs-0 2/2 Running 1 (27s ago) 7m43s
12mdbc-rs-1 2/2 Running 1 (3m1s ago) 6m42s
13mdbc-rs-2 2/2 Running 1 (104s ago) 5m56s
14mdbc-rs-search-0-0 1/1 Running 0 4m32s
15mongodb-kubernetes-operator-5594c7cd4c-dn82g 1/1 Running 0 8m4s

手順が完了したら、クエリを実行する前に配置が正常であることを確認します。

チェックポイント
検証ステップ

MongoDB Community リソースの実行中

kubectl get mongodbcommunity -n <your-namespace> を実行して、MongoDBCommunity リソースに Running フェーズが表示されていることを確認します。

MongoDB Search リソース実行中

kubectl get mongodbsearch -n <your-namespace> を実行して、MongoDBSearch リソースに Running フェーズが表示されていることを確認します。

すべてのポッドが正常です

kubectl get pods -n <your-namespace> を実行し、すべてのレプリカセットノードと検索ノードで、すべてのコンテナが準備できている Running ステータスが表示されていることを確認します。

検索クエリは成功します

レプリカセットに接続し、 MongoDB Search またはベクトル検索クエリを実行して、検索インデックスにアクセスできることを確認します。

MongoDB Community Edition でMongoDB Search とベクトル検索を配置すると、次のことが可能になります。

  • データの追加とクエリの実行:データを MongoDB クラスターにロードし、MongoDB Search とベクトル検索インデックスを作成し、データに対してクエリを実行します。詳細を学ぶには、MongoDB Search とベクトル検索の使用を参照してください。

  • 検索設定の構成: 検索配置のリソース設定を調整します。さらに学ぶには、MongoDB Search とベクトル検索設定。を参照してください。