AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB 검색 및 벡터 검색 설정

Kubernetes Operator용 MongoDB 컨트롤러를 사용하여 MongoDB v8.0 이상과 함께 MongoDB Search 및 Vector Search를 배포 할 수 있습니다.

다음 예시 MongoDB Search 및 Vector 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)에서 필수 설정만 정의하는 경우, Kubernetes Operator용 MongoDB 컨트롤러는 모든 선택 사항 설정에 기본값을 사용하여 MongoDBSearch를 구성합니다.

apiVersion

유형: 문자열

MongoDB Kubernetes 리소스 스키마 의 버전입니다. 값을 mongodb.com/v1(으)로 설정합니다.

kind

유형: 문자열

생성할 MongoDB Kubernetes 리소스 의 종류입니다. 이를 MongoDBSearch로 설정합니다.

metadata.namespace

유형: 문자열

MongoDBSearch 리소스 생성해야 하는 네임스페이스입니다. MongoDBSearch 및 MongoDB 또는 MongoDBCommunity 리소스의 자동 구성을 활용하려면 MongoDB 또는 MongoDBCommunity 리소스 와 동일한 네임스페이스 에 MongoDBSearch 리소스 생성해야 합니다.

metadata.name

유형: 문자열

MongoDBSearch 리소스 의 고유 식별자입니다. 리소스 이름은 최대 44 자까지 가능합니다.

이 섹션에서는 MongoDB 검색하다 및 벡터 검색 리소스에 대한 선택 사항 설정에 대해 설명합니다. CRD에 선택 사항 설정을 생략하고 필수 설정만 정의하는 경우, Kubernetes Operator용 MongoDB 컨트롤러는 모든 선택 사항 설정의 기본값으로 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

유형: 문자열

이 MongoDB 검색 및 벡터 검색 리소스 와 연결할 MongoDB 또는 MongoDBCommunity 리소스 의 이름입니다. 동일한 MongoDB 또는 MongoDBCommunity 리소스 참조하는 MongoDBSearch 리소스 두 개 이상 가질 수 없습니다. 다른 이름을 지정하는 경우, MongoDB 검색 및 벡터 검색을 활성화 하려는 MongoDB 또는 MongoDBCommunity 를 명시적으로 점 야 합니다.

MongoDB 또는 MongoDBCommunity 리소스 동일한 Kubernetes 클러스터 에 배포되고 MongoDBSearch 리소스 와 동일한 네임스페이스 에 있는 경우에만 이 필드 사용합니다. 이 필드 설정하면 Kubernetes 연산자가 자동으로 다음을 수행할 수 있습니다.

  • 데이터베이스 에 대한 적절한 연결 문자열을 설정합니다.

  • 검색 기능을 활성화 하고 검색 파드의 주소를 구성하는 데 필요한 매개변수를 설정하여 MongoDB database 배포를 재구성합니다.

데이터베이스 Kubernetes 외부에 배포되었거나 다른 네임스페이스 에 있는 경우 spec.external 를 사용하여 데이터베이스 에 대한 연결을 구성합니다. 이 필드 spec.external와 상호 배타적입니다.

생략하면 Kubernetes Operator는 이 MongoDBSearch 리소스 와 이름이 같은 MongoDB 또는 MongoDBCommunity 리소스 찾습니다.

spec.source.username

유형: 문자열

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

유형: 문자열

mongot 이(가) mongod(으)로 인증하는 데 사용해야 하는 비밀번호가 포함된 시크릿의 이름입니다. 생략하면 기본값은 <MongoDBSearch.metadata.name>-search-sync-source-password입니다.

spec.source.passwordSecretRef.key

유형: 문자열

비밀번호 값이 시크릿에 저장되는 키입니다. 생략하면 기본값은 password입니다.

다음 설정은 외부 MongoDB 복제본 세트 에 대한 연결을 구성할 때만 필요합니다.

spec.source.external

유형: 객체

외부 데이터 소스 설명하는 설정입니다. 이 객체 외부 MongoDB 에 연결하기 위한 MongoDB 검색 및 벡터 검색 리소스 의 설정을 설명합니다. 이러한 설정은 Kubernetes Operator를 사용하여 배포되지 않은 외부 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

유형: 객체

외부 MongoDB database 에 연결할 때 mongot 사용해야 하는 TLS 설정입니다.

spec.source.external.tls.ca.name

유형: 문자열

mongod 노드에서 사용하는 TLS 인증서를 발급한 인증 기관의 신뢰할 수 있는 체인이 포함된 시크릿의 이름입니다.

예시

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 수신 서버 에 대한 보안 설정입니다.

spec.security.tls

유형: 객체

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

spec.security.tls.certificateKeySecretRef.name

유형: 문자열

비공개 키(tls.key)와 인증서(tls.crt)를 포함하는 동일한 네임스페이스 에 있는 TLS 시크릿의 이름입니다. 시크릿은 kubernetes.io/tls 유형(cert-manager에서 발급)이거나 수동으로 생성할 수 있습니다. 이는 mongot에서 TLS를 활성화하는 데 필요합니다.

spec.resourceRequirements

유형: core/v1/ResourceRequirements

mongodb-search 컨테이너 요청 수 있고 제한할 수 있는 CPU 및 메모리입니다. spec.statefulSet(으)로 재정의하는 대신 이 필드 사용하여 리소스 할당을 사용자 지정하는 것이 좋습니다.

생략하면 Kubernetes Operator는 다음 기본값 을 사용합니다.

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

유형: 객체

mongodb-search 컨테이너 사용할 수 있는 리소스 , CPU 및 메모리의 상한선입니다. 기본값 으로 제한은 설정하다 있지 않습니다. 생략하면 파드가 제한되지 않으므로 노드 의 모든 리소스를 사용할 수 있습니다. 워크로드 에 따라 제한을 설정하는 것이 좋습니다.

spec.resourceRequirements.requests

유형: 객체

mongodb-search 컨테이너 에 대해 요청된 CPU 및 메모리의 양입니다. 생략하면 Kubernetes Operator는 다음 기본값 을 사용합니다.

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

유형: 객체

MongoDB Search 및 Vector Search 인덱스가 저장되는 MongoDB Search 및 Vector Search 지속성 볼륨에 대한 스토리지 구성입니다. 각 검색 인스턴스 (pod)에는 인덱스를 유지 관리하기 위한 자체 독립적인 저장 가 있으며, 이는 MongoDB database 와 공유되지 않습니다. 인덱스 메타데이터 (정의)만 데이터베이스 자체에 저장됩니다.

스칼라
데이터 유형
설명

labelSelector

문자열

마운트된 볼륨을 디렉토리에 바인딩하는 데 사용되는 태그입니다.

storage

문자열

마운트해야 하는 영구 볼륨 의 최소 크기입니다. 이 값은 정수 뒤에 JEDEC 표기법으로 저장 단위를 붙여 표현합니다.

기본값은 16Gi입니다.

60 예시 를 들어 복제본 세트 기가바이트의 저장 공간이 필요한 60Gi 경우 이 값을 로 설정하다 .

storageClass

문자열

영구 볼륨 클레임에 지정된 저장 유형입니다. 이 스토리지 유형을 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 Operator가 spec.persistence.single.storage10GB로 설정합니다.

spec.logLevel

유형: 문자열

mongot 로그의 상세도입니다. 값은 다음 중 하나일 수 있습니다.

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

생략하는 경우 기본값은 INFO입니다.

spec.prometheus

유형: 객체

이 기능은 v1.6 이상에서만 사용할 수 있습니다.

Prometheus 지표 엔드포인트를 활성화 구성입니다. 생략하면 mongot 의 지표 엔드포인트가 비활성화됩니다. 기본값 포트(9946)에서 Prometheus 지표 엔드포인트를 활성화 하려면 spec.prometheus 필드 에 빈 {} 객체 지정합니다. 포트를 변경하려면 spec.prometheus.port 필드 에 설정하다 .

spec.prometheus.port

유형: 문자열

Prometheus 지표 엔드포인트를 활성화 할 포트입니다. 기본값 으로 Prometheus 지표 엔드포인트는 포트 9946에서 활성화됩니다.

spec.version

유형: 문자열

mongodb-search Docker 이미지의 버전입니다. 생략하면 Kubernetes 연산자가 자동으로 최신 버전의 MongoDBSearch를 선택합니다. Kubernetes 연산자 버전 업그레이드 시 자동 업그레이드를 방지하도록 명시적으로 설정할 수 있습니다.

spec.statefulSet

유형: apps/v1/StatefulSet

파드 배포를 위해 생성된 StatefulSet에 대한 mongot 사양으로, Kubernetes 연산자가 적용하는 설정을 덮어씁니다. 재정의는 항상 마지막에 적용됩니다.spec.statefulSet.specspec.statefulSet.metadata 필드를 모두 지원합니다.

참고

spec.statefulSet을(를) 사용하여 리소스 요구 사항 또는 지속성 설정을 설정하다 하지 마세요. 대신 spec.resourceRequirementsspec.persistence 필드를 각각 사용합니다.