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

Ops Manager 리소스에 대한 쿼리 가능 백업 구성

이 페이지의 내용

  • 전제 조건
  • 절차
  • 네임스페이스로 기본 설정하도록 kubectl 을 구성합니다.
  • 백업을 위한 PEM 파일을 생성합니다.
  • PEM 파일이 포함된 시크릿을 생성합니다.
  • 시크릿을 사용하도록 Ops Manager 사용자 지정 리소스를 구성합니다.
  • Ops Manager 구성 파일을 저장합니다.
  • Ops Manager 배포에 변경 사항을 적용합니다.
  • 마운트된 볼륨 및 Secret의 상태를 추적합니다.
  • 쿼리 가능 백업 비활성화
  • Ops Manager 사용자 지정 리소스를 업데이트합니다.
  • MongoDB Ops Manager 사용자 지정 리소스를 저장합니다.
  • 변경 사항을 MongoDB Ops Manager 사용자 지정 리소스에 적용합니다.
  • MongoDB Ops Manager 백업 설정으로 이동합니다.
  • PEM 파일 삭제
  • 변경 사항을 적용하려면 Web MongoDB Server를 다시 시작하세요.

Kubernetes Operator에 배포하는 Ops Manager 리소스에 대해 쿼리 가능 백업 을 구성할 수 있습니다.

참고

Ops Manager 설명서에서는 쿼리 가능 백업을 쿼리 가능 스냅샷 또는 쿼리 가능 복원이라고도 합니다.

쿼리 가능 백업을 사용하면 MongoDB Ops Manager 리소스에서 특정 백업 스냅샷에 대한 쿼리를 실행할 수 있습니다. MongoDB Ops Manager 백업을 쿼리하면 여러 스냅샷의 데이터를 비교하고 데이터 복원에 사용할 최상의 스냅샷을 식별하는 데 도움이 됩니다.

다음 절차에서는 다음을 수행합니다.

  • 쿼리하려는 백업 스냅샷에 액세스하기 위한 인증서가 들어 있는 queryable.pem 파일을 생성합니다.

  • queryable.pem 파일이 포함된 시크릿을 생성합니다.

  • 쿼리 가능 백업의 시크릿을 사용하도록 Ops Manager 사용자 지정 리소스를 구성합니다.

  • Ops Manager 사용자 지정 리소스 구성을 저장하고 적용합니다.

Kubernetes Operator가 사용자 지정 리소스에 대해 업데이트된 구성을 배포하면 Ops Manager는 spec.backup.queryableBackupSecretRef.name 매개변수에서 시크릿을 읽을 수 있습니다. 이제 백업 스냅샷에 액세스하고 이에 대한 쿼리를 실행할 수 있습니다.

쿼리 가능 백업을 구성하기 전에 다음 작업을 완료하세요.

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

배포서버의 TLS 요구 사항에 따라 백업에 액세스하고 쿼리하는 데 사용할 MongoDB Ops Manager queryable.pem 파일을 생성합니다. PEM 파일에는 MongoDB Ops Manager에서 백업 스냅샷에 액세스하고 쿼리를 실행하는 데 필요한 공개 키 인증서와 관련 비공개 키가 포함되어 있습니다.

PEM 파일의 요구 사항에 대해 자세히 알아보려면 MongoDB Ops Manager의 권한 부여 및 인증 요구 사항을 참조하세요.

3

다음 명령을 실행하여 이전 단계에서 생성한 queryable.pem 파일로 시크릿을 생성합니다.

kubectl create secret generic queryable-pem --from-file=./queryable.pem

HashiCorp Vault 를 사용하는 경우 대신 볼트 시크릿을 생성 할 수 있습니다.

시크릿 스토리지 옵션에 대한 자세한 내용은 시크릿 스토리지 구성을 참조하세요.

4

queryable.pem 시크릿을 참조하도록 spec.backup.queryableBackupSecretRef.name 를 구성합니다.

1 apiVersion: mongodb.com/v1
2 kind: MongoDBOpsManager
3 metadata:
4 name: ops-manager
5 spec:
6 replicas: 1
7 version: 6.0.0
8 adminCredentials: ops-manager-admin-secret
9 backup:
10 enabled: true
11 queryableBackupSecretRef:
12 name: om-queryable-pem
5
6

Ops Manager 리소스 정의의 파일 이름에 대해 다음 kubectl 명령을 호출합니다.

kubectl apply -f <opsmgr-resource>.yaml

Ops Manager 리소스 정의에 변경 사항을 적용하면 Kubernetes는 Ops Manager StatefulSet를 업데이트하고, 볼륨을 생성하고, Secret을 마운트합니다.

7
  1. 영구 볼륨 클레임 목록을 가져옵니다.

    kubectl get pvc
  2. 비밀 얻기:

    kubectl get secrets
  3. Ops Manager 리소스의 상태를 확인합니다.

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

    -w 플래그는 'watch'를 의미합니다. "watch" 플래그를 설정하면 구성이 변경될 때 상태 단계가 Running 상태를 달성할 때까지 출력이 즉시 새로 고침됩니다.

    리소스 배포 상태에 대해 자세히 알아보려면 Kubernetes 연산자 문제 해결을 참조하세요.

쿼리 가능 백업을 구성한 후 이를 쿼리하여 데이터 복원에 사용할 최상의 백업 스냅샷을 선택할 수 있습니다.

MongoDB deployment의 모든 컨테이너가 완전히 정적 이어야 하는 경우 쿼리 가능 백업을 비활성화하는 것이 가장 좋습니다. 이는 백업 데몬 서비스 가 MongoDB Ops Manager에서 MongoDB 바이너리 다운로드를 시도하지 않기 위한 것입니다. 바이너리를 다운로드하면 정적 컨테이너의 불변의 특성이 손상되며 이는 비정적 컨테이너에서만 가능합니다. 자세한 내용은 정적 컨테이너(공개 미리 보기)를 참조하세요.

쿼리 가능 백업을 비활성화하려면 다음을 수행합니다.

1

MongoDBOpsManager 사용자 지정 리소스에서 spec.configuration.mms.featureFlag.backup.queryablespec.configuration.mms.featureFlag.backup.wt.queryable 을(를) disabled(으)로 설정합니다.

1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: opsmgr-resource
5spec:
6 configuration:
7 mms.featureFlag.backup.wt.queryable: "disabled"
8 mms.featureFlag.backup.queryable: "disabled"
2
3

Ops Manager 리소스 정의의 파일 이름에 대해 다음 kubectl 명령을 호출합니다.

kubectl apply -f <opsmgr-resource>.yaml
4

MongoDB Ops Manager UI에서 오른쪽 상단 모서리에 있는 Admin 을 클릭합니다. Admin 화면에서 General 을 클릭합니다. Ops Manager Config Backup.

5

Queryable Snapshot Configuration 섹션으로 이동하여 Proxy Server PEM File 을 삭제합니다.

6