Kubernetes Operator를 위한 빠른 시작
이 페이지의 내용
- 전제 조건
- 절차
- Kubernetes { Charts 용 MongoDB Helm 차트 추가 리포지토리 를 Helm에 추가합니다.
- MongoDB Enterprise Kubernetes Operator 설치
- 네임스페이스로 기본 설정하도록
kubectl
을 구성합니다. - Kubernetes Operator 구성
- ConfigMap을 복사하고 저장합니다.
- 비밀을 복사하여 저장합니다.
- 컨피그맵과 시크릿을 적용합니다.
- 복제본 세트 리소스를 배포합니다.
- 데이터베이스 사용자 비밀번호로 비밀번호 만들기
- 데이터베이스 사용자를 생성합니다.
- 선택 사항: Cloud Manager 또는 Ops Manager에서 새로 생성된 사용자를 확인합니다.
- 복제본 세트에 연결합니다.
중요
이 섹션은 단일 Kubernetes 클러스터 배포에만 적용됩니다. 다중 Kubernetes 클러스터 MongoDB 배포의 경우 다중 Kubernetes 클러스터 빠른 시작 을 참조하세요.
MongoDB Enterprise Kubernetes Operator는 Kubernetes API와 도구를 사용하여 MongoDB 클러스터를 관리합니다. Kubernetes Operator는 MongoDB Cloud Manager 또는 MongoDB Ops Manager와 함께 작동합니다. 이 튜토리얼에서는 Kubernetes Operator를 사용하여 MongoDB Cloud Manager에서 첫 번째 복제본 세트를 배포하고 연결하는 방법을 설명합니다. Kind 를 사용하여 클러스터를 빠르게 설정할 수 있습니다. 자세한 내용은 Kind 를 참조하세요. .
전제 조건
이 튜토리얼에는 다음이 필요합니다.
실행 중인 MongoDB Cloud Manager 클러스터.
실행 중인 Kubernetes 클러스터.
지원되는 hardware 아키텍처에서실행되는 Kubernetes 노드.
절차
Kubernetes 용 MongoDB Helm Charts 추가 리포지토리 를 Helm에 추가합니다.
helm repo add mongodb https://mongodb.github.io/helm-charts
MongoDB Enterprise Kubernetes Operator 설치
Helm 차트를 사용하여 Kubernetes 연산자를 설치하려면 다음을 수행합니다. 리포지토리의 지침을 참조하세요.
예시
다음 명령은 선택적 --create-namespace
옵션을 사용하여 mongodb
네임스페이스에 MongoDB Enterprise Kubernetes Operator를 설치합니다. 기본적으로 Kubernetes Operator는 default
네임스페이스를 사용합니다.
helm install enterprise-operator mongodb/enterprise-operator --namespace mongodb --create-namespace
Kubernetes Operator 구성
Create New API Keys 또는 Use Existing API Keys 를 클릭합니다.
양식을 작성합니다. 자세히 알아보려면 Cloud Manager에 대한 프로그래밍 방식의 액세스를 참조하세요.
Generate Key and YAML를 클릭합니다.
ConfigMap을 복사하고 저장합니다.
생성된 config-map.yaml
파일을 복사하여 저장합니다.
예시:
apiVersion: v1 kind: ConfigMap metadata: name: my-project namespace: mongodb data: baseUrl: https://cloud.mongodb.com projectName: my-project # this is an optional parameter orgId: 5ecd252f8c1a75033c74106c # this is a required parameter
자세한 내용은 파라미터 설명을 참조하십시오.
복제본 세트 리소스 를 배포합니다.
다음 YAML 파일을 복사하고 저장합니다.
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: demo-mongodb-cluster-1 namespace: mongodb spec: members: 3 version: 4.4.5-ent type: ReplicaSet security: authentication: enabled: true modes: ["SCRAM"] cloudManager: configMapRef: name: my-project credentials: organization-secret persistent: true podSpec: podTemplate: spec: containers: - name: mongodb-enterprise-database resources: limits: cpu: 2 memory: 1.5G requests: cpu: 1 memory: 1G persistence: single: storage: 10Gi 다음 명령을 실행합니다:
kubectl apply -f <replica-set-conf>.yaml
데이터베이스 사용자 비밀번호로 비밀번호 만들기
일반 텍스트 비밀번호 또는 Base64로 인코딩된 비밀번호를 사용할 수 있습니다. 일반 텍스트 암호는 stringData.password
을 사용하고 Base64로 인코딩된 암호는 data.password
을 사용합니다.
참고
다음 매개변수에 대한 값을 입력합니다. 자세한 내용은 파라미터 설명을 참조하십시오.
일반 텍스트 비밀번호의 경우 다음 YAML 파일을 만들어 저장합니다:
apiVersion: v1 kind: Secret metadata: name: mms-user-1-password # corresponds to user.spec.passwordSecretKeyRef.name type: Opaque stringData: password: <my-plain-text-password> # corresponds to user.spec.passwordSecretKeyRef.key
Base64로 인코딩된 비밀번호의 경우 다음 YAML 파일을 만들어 저장합니다:
apiVersion: v1 kind: Secret metadata: name: mms-user-1-password # corresponds to user.spec.passwordSecretKeyRef.name type: Opaque data: password: <base-64-encoded-password> # corresponds to user.spec.passwordSecretKeyRef.key
데이터베이스 사용자를 생성합니다.
다음 MongoDB 사용자 리소스 사양 파일을 복사하여 저장합니다.
apiVersion: mongodb.com/v1 kind: MongoDBUser metadata: name: mms-scram-user-1 spec: passwordSecretKeyRef: name: mms-user-1-password # Match to metadata.name of the User Secret key: password username: "mms-scram-user-1" db: "admin" # mongodbResourceRef: name: "demo-mongodb-cluster-1" # Match to MongoDB resource using authenticaiton roles: - db: "admin" name: "clusterAdmin" - db: "admin" name: "userAdminAnyDatabase" - db: "admin" name: "readWrite" - db: "admin" name: "userAdminAnyDatabase" 다음 명령을 실행합니다:
kubectl apply -f <database-user-conf>.yaml
복제본 세트 에 연결합니다.
Cloud Manager 애플리케이션에서 다음 단계를 수행합니다.
왼쪽 탐색에서 Deployment을 클릭합니다.
연결하려는 배포서버의 을 클릭합니다.
Connect to this instance를 클릭합니다.
터미널에서 연결 명령을 실행하여 배포에 연결합니다.