문서 메뉴
문서 홈
/
MongoDB Enterprise Kubernetes 연산자
/ /

독립형 MongoDB 인스턴스 배포

이 페이지의 내용

  • 전제 조건
  • 절차

참고

이 페이지의 어느 곳에서나 Ops Manager라고 표시된 곳에서는 Cloud Manager로 대체할 수 있습니다.

중요

  • Kubernetes Operator를 사용하여 Cloud Manager 및 Ops Manager 버전 6.0.x 이상과 함께 MongoDB 리소스를 배포할 수 있습니다.

  • Atlas Operator 를 사용하여 MongoDB 리소스를 Atlas에 배포할 수 있습니다.

Ops Manager 가 관리할 독립형 MongoDB 인스턴스를 배포할 수 있습니다. 테스트 및 개발에는 독립형 인스턴스를 사용하세요. 복제 및 고가용성이 부족하므로 프로덕션 시스템에는 이러한 배포를 사용 하지 마세요 . 모든 프로덕션 배포에는 복제본 세트를 사용하세요. 복제본 세트에 대해 알아보려면 복제본 세트 배포를 참조하세요.

객체 를 사용하여 독립형을 배포하려면 다음을 수행합니다. , 다음을 수행해야 합니다.

참고

단일 클러스터 Kubernetes 배포에 시크릿이 저장되지 않도록 하려면 모든 시크릿 을 마이그레이션할 수 있습니다. 비밀 저장 도구 에 저장합니다. 여러 Kubernetes 클러스터에 대한 배포는 HashiCorp Vault 와 같은 비밀 저장소 도구에 비밀을 저장하는 것을 지원하지 않습니다. .

1

아직 실행하지 않았다면 다음 명령을 실행하여 생성한 네임스페이스에서 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>
2

원하는 구성에 맞게 수정할 수 있는 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
...
3
4
유형
설명
예제
문자열

이 Kubernetes 독립형 객체 에 대한 레이블 .

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

다음도 참조하세요.

my-project
문자열

이 독립형에 설치된 MongoDB의 버전입니다.

형식은 커뮤니티 에디션의 경우 X.Y.Z, 엔터프라이즈 에디션의 경우 X.Y.Z-ent여야 합니다.

중요

호환되는 MongoDB Server 버전을 선택하도록 합니다.

호환되는 버전은 MongoDB database 리소스가 사용하는 기본 이미지에 따라 다릅니다.

MongoDB 버전 관리에 대해 자세히 알아보려면 MongoDB 매뉴얼의 MongoDB 버전 관리를 참조하세요.

최상의 결과를 얻으려면 사용 가능한 최신 MongoDB 엔터프라이즈 버전 을 사용하세요. MongoDB Ops Manager 버전과 호환 됩니다.

문자열

ConfigMap 의 이름 MongoDB Ops Manager 연결 구성을 사용합니다. spec.cloudManager.configMapRef.name 설정은 이 설정의 별칭이며 대신 사용할 수 있습니다.

참고

이 값은 생성하려는 리소스와 동일한 네임스페이스에 존재해야 합니다.

<myproject>
문자열

Operator가 MongoDB Ops Manager와 통신할 수 있도록 MongoDB Ops Manager API 인증 자격 증명으로 생성 한 시크릿의 이름입니다.Kubernetes

자격 증명을 보유하고 있는 Ops Manager 쿠버네티스 시크릿 객체는 생성하려는 리소스와 동일한 네임스페이스에 존재해야 합니다.

중요

연산자는 시크릿에 대한 변경 사항을 관리합니다

Kubernetes Operator는 시크릿에 대한 모든 변경 사항을 추적하고 MongoDB 리소스 상태를 조정합니다.

<mycredentials>
문자열
생성하고자 하는 MongoDB 리소스 유형입니다.
Standalone
문자열

선택 사항.

이 값이 true일 경우 spec.podSpec.persistence.single이 기본 값인 16Gi로 설정됩니다.

영구 볼륨 클레임 을 변경하려면 배포 요구 사항을 충족하도록 다음 컬렉션을 구성합니다.

경고

컨테이너에 영구 볼륨 에 쓸 수 있는 권한을 부여합니다. . Kubernetes Operator는 fsGroup = 2000, runAsUser = 2000runAsNonRoot = true securityContext 설정합니다. Kubernetes Operator는 fsgrouprunAsUser 와 같게 설정하여 컨테이너에서 메인 프로세스를 실행하는 사용자가 볼륨을 쓸 수 있도록 합니다. 자세히 알아보려면 Pod 또는 컨테이너에 대한 보안 컨텍스트 구성을 참조하세요. 및 관련 토론 Kubernetes 문서에서 확인 가능합니다. 리소스를 다시 배포해도 영구 볼륨 문제가 해결되지 않으면 MongoDB 지원팀 에 문의하세요.

참고

Disk Usage Disk IOPS 영구 볼륨 ProcessesDeployment 사용하지 Metrics 않는 경우 및 Atlas 차트는 이 배포에 대한 데이터를 검토 할 때 페이지의 탭이나 페이지에 표시할 수 없습니다.

true
6
7

다음 Kubernetes 명령을 호출하여 독립형을 생성합니다.

kubectl apply -f <standalone-conf>.yaml
8

MongoDB 리소스의 상태를 확인하려면 다음 명령어를 사용하세요.

kubectl get mdb <resource-name> -o yaml -w

-w(watch) 플래그 설정이 적용된 경우, 구성이 변경되면 상태 단계가 Running 상태를 달성할 때까지 출력이 즉시 새로 고침 됩니다. 리소스 배포 상태에 대해 자세히 알아보려면 Kubernetes Operator 문제 해결을 참조하세요.

샤드 클러스터 문제를 해결하려면 다음을 참조하세요.

돌아가기

MongoDB 데이터베이스 리소스 배포

이 페이지의 내용