독립형 MongoDB 인스턴스 배포
참고
이 페이지의 어느 곳에서나 Ops Manager라고 표시된 곳에서는 Cloud Manager로 대체할 수 있습니다.
중요
Kubernetes Operator를 사용하여 Cloud Manager 및 Ops Manager 버전 6.0.x 이상과 함께 MongoDB 리소스를 배포할 수 있습니다.
Atlas Operator 를 사용하여 MongoDB 리소스를 Atlas에 배포할 수 있습니다.
Ops Manager가 관리할 독립형 MongoDB 인스턴스를 배포할 수 있습니다. 테스트 및 개발에는 독립형 인스턴스를 사용하세요. 복제 및 고가용성이 부족하므로 프로덕션 시스템에는 이러한 배포를 사용하지 마세요. 모든 프로덕션 배포에는 복제본 세트를 사용하세요. 복제본 세트에 대해 자세히 알아보려면 복제본 세트 배포하기를 참조하세요.
전제 조건
객체 를 사용하여 독립형 을 배포 하려면 다음을 수행해야 합니다.
MongoDB Enterprise Kubernetes Operator를 보유하거나 설치합니다.
Kubernetes Operator ConfigMap을 생성하거나 작성합니다.
Kubernetes Operator에 대한 자격 증명을 생성하거나 다른 시크릿 저장 도구를 구성합니다.
참고
단일 클러스터 Kubernetes 배포에 시크릿이 저장되지 않도록 하려면 모든 시크릿 을 마이그레이션할 수 있습니다. 비밀 저장 도구 에 저장합니다. 여러 Kubernetes 클러스터에 대한 배포는 HashiCorp Vault 와 같은 비밀 저장소 도구에 비밀을 저장하는 것을 지원하지 않습니다. .
절차
을 네임스페이스 를 기본값 으로 구성합니다.kubectl
아직 실행하지 않았다면 다음 명령을 실행하여 생성한 네임스페이스에서 kubectl
명령을 모두 실행합니다.
참고
다중 Kubernetes 클러스터 MongoDB deployment에서 MongoDB Ops Manager 리소스를 배포하는 경우:
context
을 중앙 클러스터의 이름(예:kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME"
)으로 설정합니다.--namespace
를 다중 Kubernetes 클러스터 MongoDB 배포에 사용한 것과 동일한 범위 (예:kubectl config --namespace "mongodb"
로 설정합니다.
kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
다음 예시 독립형 Kubernetes 객체 를 복사합니다.
원하는 구성에 맞게 수정할 수 있는 YAML 파일입니다. 원하는 독립형 구성과 일치하도록 강조 표시된 설정을 변경합니다.
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: <my-standalone> spec: version: "4.2.2-ent" opsManager: configMapRef: name: <configMap.metadata.name> # Must match metadata.name in ConfigMap file credentials: <mycredentials> type: Standalone persistent: true ...
선호하는 텍스트 편집기를 열고 객체 사양을 새 텍스트 파일에 붙여넣습니다.
이전 단계에서 강조 표시된 설정을 다음과 같이 구성합니다.
키 | 유형 | 설명 | 예시 |
---|---|---|---|
문자열 | Kubernetes 독립형 객체에 대해 레이블합니다. 리소스 이름은 44자 이내여야 합니다. 학습 내용은 및 | my-project | |
문자열 | 이 독립형에 설치된 MongoDB의 버전입니다. 형식은 커뮤니티 에디션의 경우 중요: 호환되는 MongoDB Server 버전 을 선택해야 합니다. 호환되는 버전은 MongoDB database 리소스 가 사용하는 기본 이미지에 따라 다릅니다. MongoDB 버전 관리에 대해 자세히 알아보려면 MongoDB 매뉴얼의 MongoDB 버전 관리를 참조하세요. | 최상의 결과를 얻으려면 사용 가능한 최신 MongoDB 엔터프라이즈 버전 을 사용하세요. MongoDB Ops Manager 버전과 호환 됩니다. | |
문자열 | ConfigMap 의 이름 MongoDB Ops Manager 연결 구성을 사용합니다. 이 값은 생성하려는 리소스와 동일한 네임스페이스에 존재해야 합니다. | <myproject> | |
문자열 | Operator가 MongoDB Ops Manager와 통신할 수 있도록 MongoDB Ops Manager API 인증 자격 증명으로 생성 한 시크릿의 이름입니다.Kubernetes 자격 증명을 보유하고 있는 Ops Manager 쿠버네티스 시크릿 객체는 생성하려는 리소스와 동일한 네임스페이스에 존재해야 합니다. 중요: Kubernetes Operator는 시크릿에 대한 모든 변경 사항을 추적하고 | <mycredentials> | |
문자열 | 생성하고자 하는 MongoDB 리소스 유형입니다. | Standalone | |
문자열 | 선택 사항. 이 값이 영구 볼륨 클레임 을 변경하려면 배포 요구 사항을 충족하도록 다음 컬렉션을 구성합니다.
경고: 컨테이너에 영구 볼륨 에 쓰기 (write) 수 있는 권한을 부여합니다. . Kubernetes Operator는 Disk Usage Disk IOPS 영구 볼륨 Processes 을 Deployment 사용하지 Metrics 않는 경우 및 Atlas 차트는 이 배포에 대한 데이터를 검토 할 때 페이지의 탭이나 페이지에 표시할 수 없습니다. | true |
독립형 배포에 대해 허용되는 추가 설정을 추가합니다.
독립형 배포를 위해 객체 사양 파일에 다음 선택적 설정을 추가할 수도 있습니다:
독립형 배포의 상태를 추적합니다.
MongoDB
리소스의 상태를 확인하려면 다음 명령어를 사용하세요.
kubectl get mdb <resource-name> -o yaml -w
-w
(watch) 플래그 설정이 적용된 경우, 구성이 변경되면 상태 단계가 Running
상태를 달성할 때까지 출력이 즉시 새로 고침 됩니다. 리소스 배포 상태에 대해 자세히 알아보려면 Kubernetes Operator 문제 해결을 참조하세요.
샤딩된 클러스터 문제를 해결하려면 다음을 참조하세요.