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

MongoDB 검색 및 벡터 검색 설정

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

다음 예시 MongoDB Search 및 Vector Search 배포서버 위한 spec 객체 내부의 설정을 보여줍니다. 이러한 설정에 대해 자세히 학습하려면 필수 설정 및 선택적 설정을 참조하세요.

예시

spec: source: mongodbResourceRef: name: mdb external: hostAndPorts: - mdb-rs-external-0.example.com:27017 - mdb-rs-external-1.example.com:27017 - mdb-rs-external-2.example.com:27017 keyfileSecretRef: name: mdbc-rs-keyfile key: keyfile tls: ca: name: mdbc-rs-ca username: search-sync-source passwordSecretRef: name: mdbc-rs-search-sync-source-password key: password security: tls: certificateKeySecretRef: name: mdbs-tls-secret resourceRequirements: limits: cpu: "3" memory: 5Gi requests: cpu: "2" memory: 3Gi logLevel: INFO

이 섹션에서는 MongoDB Search 및 Vector Search 리소스 배포하는 데 필요한 설정에 대해 설명합니다. 사용자 지정 리소스 정의(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 Search 및 벡터 검색 리소스에 대한 선택 사항 설정에 대해 설명합니다. 선택 사항을 생략하고 CRD에서 필수 설정만 정의하는 경우, Kubernetes 연산자용 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 Operator가 자동으로 다음을 수행할 수 있습니다.

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

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

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

생략하면 Kubernetes Operator는 이 MongoDBSearch 리소스 와 동일한 이름을 가진 MongoDB 또는 MongoDBCommunity 리소스 찾습니다.

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.keyfileSecretRef

유형: 객체

내부 클러스터 인증 위한 키 파일이 포함된 Kubernetes 시크릿에 대한 참조입니다.

spec.source.external.keyfileSecretRef.name

유형: 문자열

mongod 를 mongot에 인증하는 데 사용되는 키 파일의 이름입니다. 지정된 시크릿 이름에는 MongoDB 복제본 세트 멤버가 내부 통신을 위해 사용하는 것과 동일한 키 파일이 포함되어야 합니다.

spec.source.external.keyfileSecretRef.key

유형: 문자열

키 파일의 내용(문자열)입니다.

팁

Cloud Manager 또는 MongoDB Ops Manager 인스턴스 대한 자동화 구성의 auth.key 필드 에서 키 파일을 찾을 수 있습니다.

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: SecretapiVersion: v1metadata: name: trusted-cadata: ca.crt: | -----BEGIN CERTIFICATE----- MIIDBTCCAe2gAwIBAgIIH3EOUAGAsx0wDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE [...] U/4rN8Ias/FONYFRtGfs9uXHmo2MP04BF+9ED2dlbNDUbat+6XCozLJj98nI4VEi qaV3JrVFHTgN -----END CERTIFICATE-----
spec.source.username

유형: 문자열

mongod(으)로 mongot 을(를) 인증하는 데 사용할 사용자 이름입니다. 지정된 사용자는 searchCoordinator 역할 있어야 합니다. 생략하면 Kubernetes Operator는 사용자 이름 search-sync-source이라고 가정합니다.

spec.source.passwordSecretRef.name

유형: 문자열

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

spec.source.passwordSecretRef.key

유형: 문자열

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

spec.security

유형: 객체

mongot 수신 서버 에 대한 보안 설정입니다.

spec.security.tls

유형: 객체

TLS mongot 의 설정. 생략하면 mongot 는 들어오는 연결에 TLS를 사용하지 않습니다.

spec.security.tls.certificateKeySecretRef.name

유형: 문자열

동일한 네임스페이스에 있는 TLS 시크릿 이름(개인 키(tls.key)와 인증서(tls.crt)를 포함함). 시크릿은 cert-manager에서 발급한 kubernetes.io/tls 유형일 수 있습니다. 또는 수동으로 만들 수 있습니다. 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.logLevel

유형: 문자열

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

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

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

spec.persistence.single

유형: 객체

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

스칼라
데이터 유형
설명

labelSelector

문자열

storage

문자열

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

기본값은 16Gi입니다.

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

storageClass

문자열

영구 볼륨 클레임에 지정된 저장 유형입니다. 이 저장 유형을 StorageClass 객체로 생성한 후 이 객체 사양에서 사용할 수 있습니다.

StorageClass reclaimPolicy 를 Retain 으로 설정하다 해야 합니다. 이렇게 하면 영구 볼륨 클레임 이 제거될 때 데이터가 유지됩니다.

MongoDBSearch single 지속성 필드 만 지원합니다. 생략하면 Kubernetes Operator가 spec.persistence.single.storage 을 10GB로 설정합니다.

spec.version

유형: 문자열

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

spec.statefulSet

유형: apps/v1/StatefulSet

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

참고

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

이 페이지 평가하기