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

MongoDBCommunity 리소스 사양

MongoDBCommunity 사용자 지정 리소스를 사용하면 Kubernetes에서 MongoDB Community Edition 복제본 세트를 배포하고 관리할 수 있습니다. Kubernetes 연산자는 이 리소스를 사용하여 MongoDB Community 배포서버를 실행하는 데 필요한 statefulSets, 서비스 및 기타 Kubernetes 리소스를 생성합니다.

더 자세히 학습하려면 MongoDB Community 연산자 문서를 참조하세요.

다음 예는 MongoDBCommunity 사용자 지정 리소스에 대한 리소스 사양을 보여줍니다.

1apiVersion: mongodbcommunity.mongodb.com/v1
2kind: MongoDBCommunity
3metadata:
4 name: my-mongodb-community
5spec:
6 version: "8.0.0"
7 type: ReplicaSet
8 members: 3
9 security:
10 tls:
11 enabled: true
12 certificateKeySecretRef:
13 name: mongodb-tls-cert
14 caConfigMapRef:
15 name: mongodb-ca
16 authentication:
17 ignoreUnknownUsers: true
18 modes:
19 - SCRAM
20 agent:
21 logLevel: DEBUG
22 statefulSet:
23 spec:
24 template:
25 spec:
26 containers:
27 - name: mongod
28 resources:
29 limits:
30 cpu: "2"
31 memory: 2Gi
32 requests:
33 cpu: "1"
34 memory: 1Gi
35 - name: mongodb-agent
36 resources:
37 limits:
38 cpu: "1"
39 memory: 2Gi
40 requests:
41 cpu: "0.5"
42 memory: 1Gi
43 users:
44 - name: mdb-admin
45 db: admin
46 passwordSecretRef:
47 name: mdb-admin-user-password
48 scramCredentialsSecretName: mdb-admin-user
49 roles:
50 - name: root
51 db: admin

이 섹션에서는 모든 MongoDBCommunity 리소스에 사용해야 하는 설정에 대해 설명합니다.

apiVersion

유형: 문자열

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

kind

유형: 문자열

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

metadata.name

유형: 문자열

이 특정 MongoDBCommunity 리소스를 식별할 수 있도록 사람이 읽을 수 있는 이름입니다.

리소스 이름은 44자 이내여야 합니다.

spec.version

유형: 문자열

배포할 MongoDB Community 버전입니다. 예시: "8.0.0"

spec.type

유형: 문자열

만들 목표 MongoDB 배포서버 유형입니다. 허용되는 값은 ReplicaSet입니다.

spec.members

유형: integer

복제본 세트 노드 수. 이는 Kubernetes 연산자가 StatefulSet에서 만들 수 있는 mongod 팝의 수를 결정합니다.

MongoDBCommunity 사용자 지정 리소스는 다음 설정을 사용할 수 있습니다.

spec.security

유형: 객체

MongoDBCommunity 리소스의 보안 구성입니다. TLS 및 인증 설정이 포함되어 있습니다.

spec.security.tls

유형: 객체

MongoDB 배포에 대한 TLS 설정.

spec.security.tls.enabled

유형: 부울

MongoDB 배포서버에 대한 TLS 활성화 또는 비활성화 플래그입니다. true 으로 설정하여 TLS 암호화된 연결을 활성화합니다.

spec.security.tls.certificateKeySecretRef.name

유형: 문자열

MongoDB 배포에 대한 TLS 서버 인증서와 개인 키가 포함된 Kubernetes 시크릿 의 이름입니다.

spec.security.tls.caConfigMapRef.name

유형: 문자열

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

유형: 문자열

MongoDB Agent 로그의 상세 수준. 허용되는 값은 다음과 같습니다.

  • DEBUG

  • INFO

  • WARN

  • ERROR

spec.statefulSet

유형: 객체

Kubernetes Operator가 MongoDBCommunity 리소스에 대해 생성하는 StatefulSet의 사양입니다. 이것을 사용하여 기본 컨테이너 리소스 요청 및 제한을 재정의합니다.

spec.statefulSet.spec

유형: 객체

Kubernetes Operator가 생성된 기본값과 병합하는 StatefulSet 사양. 표준 Kubernetes StatefulSet 사양을 따릅니다.

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

유형: 문자열

MongoDB 데이터베이스 사용자의 사용자 이름입니다.

spec.users[*].db

유형: 문자열

사용자용 인증 데이터베이스입니다. 기본값은 admin입니다.

spec.users[*].passwordSecretRef.name

유형: 문자열

이 데이터베이스 사용자의 비밀번호가 포함된 Kubernetes 시크릿 의 이름입니다.

spec.users[*].scramCredentialsSecretName

유형: 문자열

Kubernetes 연산자가 이 사용자에 대해 생성된 SCRAM 자격 증명을 저장하는 시크릿 의 이름입니다.

spec.users[*].roles

유형: 객체 배열

이 데이터베이스 사용자에 할당할 역할 목록입니다.

spec.users[*].roles[*].name

유형: 문자열

할당할 역할의 이름입니다. 예를 들어 root, readWrite, readAnyDatabase 또는 searchCoordinator입니다.

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

유형: 문자열

역할이 적용되는 데이터베이스입니다. 예시: admin

MongoDBSearch CRD를 사용하여 MongoDBCommunity 리소스와 함께 MongoDB Search 및 Vector Search를 배포할 수 있습니다. 검색 기능을 활성화하려면 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 Operator가 searchCoordinator 사용자 지정 역할을 자동으로 만들어줍니다.

자세한 내용은 MongoDB Search 및 벡터 검색 배포를 참조하세요.