아키텍처, 기능 및 제한 사항
이 페이지의 내용
제한 사항
다중 Kubernetes cluster MongoDB 배포에는 다음과 같은 제한 사항이 있습니다.
MongoDBMultiCluster
리소스의 복제본 세트만 배포합니다. 샤드 클러스터 배포는 지원되지 않습니다.Ops Manager 5.0.7 이상의 버전을 사용하세요.
시크릿 저장 도구에는 Kubernetes 시크릿 만 사용하십시오. HashiCorp Vault 시크릿 저장 도구는 지원되지 않습니다.
동일한 Kubernetes Operator 인스턴스 가MongoDBOpsManager 및 사용자 지정 MongoDB 리소스를 모두 관리하지 않는 배포서버의 경우,MongoDB Ops Manager 에서 KMIP 백업 암호화 클라이언트 설정을 수동으로 구성해야 합니다. 학습 내용은 KMIP 백업 암호화 수동 구성을 참조하세요.
ServiceMonitor 추가
MongoDBMultiCluster
안 함 리소스에 추가합니다. Kubernetes Operator는 Prometheus와의 통합을 지원하지 않습니다.새로운 다중 Kubernetes 클러스터 MongoDB 배포를 생성하고 MongoDB 지원팀 에 문의하여 기존 Kubernetes 배포에서 다중 Kubernetes 클러스터 MongoDB 배포로 데이터를 마이그레이션하는 데 도움을 받을 수 있습니다. 기존 단일 Kubernetes 클러스터 배포를 새 Kubernetes 클러스터로 확장할 수 없습니다.
멀티 클러스터 배포 기능
이 섹션에서는 Kubernetes Operator로 배포된 MongoDB 리소스의 단일 클러스터에 대한 절차와 동일한 절차를 사용하여 구성할 수 있는 다중 Kubernetes 클러스터 MongoDB 배포 기능에 대해 설명합니다. 이 가이드에 다른 다중 Kubernetes 클러스터 MongoDB 배포 기능에 대한 자체 설명서가 있습니다.
DNS SRV 레코드로 연결
멀티 Kubernetes 클러스터 MongoDB 배포서버 데이터베이스 에 사용자로 연결하려면 connectionString.standardSrv
: DNS 시드 목록 연결 string 을 사용할 수 있습니다. 이 string 은 Kubernetes Operator가 다중Kubernetes 클러스터 MongoDB 배포서버 를 위해 생성하는 시크릿에 포함되어 있습니다. 다중 Kubernetes 클러스터 MongoDB deployment 에 연결하는 Kubernetes Operator로 배포된 단일 클러스터와 동일한 절차를 사용합니다. Kubernetes 내부에서 MongoDB 데이터베이스 리소스에 연결하기를 참조하고 Using the Kubernetes Secret 탭 을 선택합니다.
데이터베이스 사용자를 위한 보안 관리
데이터베이스 사용자를 위한 보안을 managed하려면 다음 방법을 사용하세요.
이러한 절차는 다음과 같은 예외를 제외하고 Kubernetes 연산자와 함께 배포된 단일 클러스터에 대한 절차와 동일합니다.
이 절차는 복제본 세트에만 적용 됩니다. 다중 Kubernetes 클러스터 MongoDB 배포 는 샤딩된 클러스터 생성을 지원 하지 않습니다.
mongodbResourceRef
에서 다중 Kubernetes 클러스터 MongoDB 배포 복제본 세트의 이름을 지정합니다:name: "<my-multi-cluster-replica-set>"
.
단일 클러스터 MongoDB Ops Manager 리소스에 대한 쿼리 가능 백업 설정
Kubernetes Operator를 사용하여 단일 Kubernetes 클러스터에 MongoDB Ops Manager 인스턴스를 배포하는 경우, 연산자 호스팅 클러스터가 MongoDB Ops Manager를 호스팅할 수도 있습니다. 이 경우 MongoDB Ops Manager 리소스에 대한 쿼리 가능 백업을 구성 할 수 있습니다. 쿼리 가능 백업은 여러 Kubernetes 클러스터에 MongoDB Ops Manager 리소스를 배포할 때 지원되지 않습니다.
배포 아키텍처 및 다이어그램
서비스 메시에 의존하거나 의존하지 않고 다중 Kubernetes 클러스터 MongoDB 배포를 생성할 수 있습니다. 자세한 내용 은 외부 연결 계획: 서비스 메시를 사용해야 하나요?를참조하세요.
다음 두 다이어그램 모두에서 MongoDB Enterprise Kubernetes Operator는 이러한 조치를 수행합니다.
중앙 cluster에서
MongoDBMultiCluster
리소스 사양 생성을 감시합니다.마운트된
kubeconfig
파일을 사용하여 노드 cluster와 통신합니다.MongoDB 클러스터의 replica set 멤버 수에 따라 각 member cluster에 ConfigMaps, Secrets, Services, StatefulSet Kubernetes 객체와 같은 필요한 리소스를 생성합니다.
해당
MongoDBMultiCluster
리소스 사양을 사용하여 각 MongoDB 복제본 세트를 배포할 cluster를 식별하고 MongoDB 복제본 세트를 배포합니다.CentralCluster
및MemberCluster
이벤트를 감시합니다.생성한 리소스를 조정하여 다중 Kubernetes 클러스터 MongoDB 배포가 원하는 상태인지 확인합니다.
MongoDB Enterprise Kubernetes Operator를 사용하는 다중 Kubernetes 클러스터 MongoDB deployment는 Kubernetes의 중앙 클러스터 한 개와 멤버 클러스터 한 개 이상의 멤버 클러스터 로 구성됩니다.
중앙 cluster 의 역할은 다음과 같습니다.
MongoDB Enterprise Kubernetes Operator 호스팅
다중 Kubernetes 클러스터 MongoDB 배포를 위한 컨트롤 플레인 역할을 합니다.
MongoDB 복제본 세트에 대한
MongoDBMultiCluster
리소스 사양을 호스팅합니다.Kubernetes Operator로 Ops Manager를 배포하는 경우 Ops Manager를 호스팅합니다.
MongoDB 복제본 세트의 멤버를 호스팅할 수도 있습니다.
중요
중앙 클러스터는 연산자 클러스터라고도 합니다. 향후 릴리스에서는 중앙 클러스터에 대한 참조의 이름이 연산자 클러스터를 참조하도록 변경될 수 있습니다.
cluster 는 MongoDB 복제본 세트를 호스팅합니다.
중앙 클러스터 ( 연산자 클러스터 라고도 함)에 장애가 발생하면 이 클러스터 에 액세스 를 복원 하거나 사용 가능한 다른 Kubernetes 클러스터 에 Kubernetes 연산자를 재배포할 때까지 Kubernetes 연산자를 사용하여 배포서버 를 변경할 수 없습니다. 학습 내용은 재해 복구를 참조하세요.
다이어그램: 서비스 메시를 사용한 멀티-Kubernetes cluster 배포
다음 다이어그램은 리전 및 가용영역에 걸친 다중 Kubernetes cluster MongoDB 배포의 상위 수준 아키텍처를 보여줍니다. 이 배포는 Istio와 같은 서비스 메시를 사용합니다. 서비스 메시:
다양한 Kubernetes 노드 cluster에 배포된 MongoDB 노드의 검색을 managed합니다.
복제본 세트 멤버 간의 통신을 처리합니다.
다음과 같은 서비스 메시 내부의 모든 노드 cluster에서 애플리케이션을 호스팅할 수 있습니다.
Kubernetes 연산자를 사용하여 배포하는 cluster 이외의 Kubernetes cluster에서 또는
멀티-Kubernetes cluster MongoDB deployment의 멤버 클러스터.
다이어그램: 서비스 메시가 없는 멀티-Kubernetes cluster 배포
다음 다이어그램은 리전 및 가용영역에 걸친 다중 Kubernetes cluster MongoDB 배포의 상위 수준 아키텍처를 보여줍니다. 이 배포는 파드를 호스팅하는 Kubernetes 클러스터와 MongoDB 인스턴스 간의 연결을 위해 서비스 메시에 의존하지 않습니다.
고유한 Kubernetes cluster의 Pod에 호스팅된 MongoDB 복제본 세트 멤버 간의 외부 통신을 처리하려면 외부 도메인과 DNS 구역을 사용합니다.
모든 cluster 멤버에서 애플리케이션을 호스팅할 수 있습니다.