중요
Atlas Open Service 브로커는 더 이상 사용되지 않습니다. 대신MongoDB Atlas 연산자 를 사용합니다.
A 복제본 세트 동일한 데이터 세트 유지하는 MongoDB deployment 그룹 입니다. 복제본 세트는 중복성과 고가용성 제공하며 모든 프로덕션 배포의 기반이 됩니다.
복제본 세트에 대한 자세한 내용은 MongoDB 매뉴얼의 복제 소개를 참조하세요.
Atlas Open Service 브로커를 사용하여 Atlas에서 관리하는 새 복제본 세트를 배포할 수 있습니다. 배포 후에는 Atlas를 사용하여 모니터링, 백업, 프로젝트 구성(예: VPC 피어링 또는 청구)을 관리하세요.
전제 조건
Atlas 복제본 세트는 객체 정의하여 생성합니다. Kubernetes 객체 사용하여 복제본 세트 배포 하려면 먼저 Atlas Open Service 브로커를 설치해야 합니다.
고려 사항
Atlas 공개 API
Atlas Open Service 브로커는 Atlas Public API 의 클러스터 생성 엔드포인트를 사용하여 복제본 세트를 배포 . API 의 모든 요구 사항 또는 제한 사항은 Atlas Open Service 브로커에도 적용 .
절차
복제본 세트에 대한 리소스 정의를 만듭니다.
서비스 브로커 인스턴스의 범위에 따라 다음 리소스 정의 예시 중 하나를 복사합니다.
Atlas Open Service 브로커 인스턴스를 클러스터 범위
ClusterServiceBroker로 등록한 경우 Cluster-scoped Instance(클러스터 범위 인스턴스)를 선택합니다. Atlas Open Service 브로커 인스턴스를 네임스페이스 범위ServiceBroker로 등록한 경우 Namespace-scoped Instance(네임스페이스 범위 인스턴스)를 선택합니다.원하는 구성에 맞게 수정할 수 있는 다음 YAML 파일 복사합니다.
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: <CLUSTER_NAME> namespace: <NAMESPACE> spec: clusterServiceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> clusterServicePlanExternalName: <INSTANCE_SIZE_PLAN> parameters: cluster: providerSettings: regionName: <ATLAS_REGION> 원하는 구성에 맞게 수정할 수 있는 다음 YAML 파일 복사합니다.
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: <CLUSTER_NAME> namespace: <NAMESPACE> spec: serviceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS> servicePlanExternalName: <INSTANCE_SIZE_PLAN> parameters: cluster: providerSettings: regionName: <ATLAS_REGION> 원하는 텍스트 편집기를 열고 리소스 정의를 새 텍스트 파일에 붙여넣습니다.
필수 설정을 구성합니다.
복제본 세트를 배포하려면 강조 표시된 설정이 필요합니다.
키 | 설명 | 예시 | |
|---|---|---|---|
| Kubernetes 의 클러스터 이름입니다. Atlas 해당 복제본 세트 이름을 무작위로 생성합니다. |
| |
|
| ||
| Atlas cloud 서비스 제공자 에 해당하는 Kubernetes 클래스입니다. 다음 명령을 호출하여 사용 가능한 클래스를 확인합니다. 클래스 이름은 명령 출력의 참고
|
| |
| 원하는 Atlas 인스턴스 크기에 해당하는 Kubernetes 서비스 계획입니다. 다음 명령을 호출하여 사용 가능한 요금제를 확인합니다. 계획 이름은 명령 출력의 |
| |
| 복제본 세트 생성되는 Atlas 리전 입니다. 중요cloud 제공자 리전 이름이 아닌 원하는 리전 의 Atlas 리전 이름을 사용해야 합니다. 사용 가능한 리전 목록은 해당 cloud 서비스 제공자 의 Atlas 설명서를 참조하세요. |
|
키 | 설명 | 예시 | |
|---|---|---|---|
| Kubernetes 의 클러스터 이름입니다. Atlas 해당 복제본 세트 이름을 무작위로 생성합니다. |
| |
|
| ||
| Atlas cloud 서비스 제공자 에 해당하는 Kubernetes 클래스입니다. 다음 명령을 호출하여 사용 가능한 클래스를 확인합니다. 클래스 이름은 명령 출력의 참고
|
| |
| 원하는 Atlas 인스턴스 크기에 해당하는 Kubernetes 서비스 계획입니다. 다음 명령을 호출하여 사용 가능한 요금제를 확인합니다. 계획 이름은 명령 출력의 |
| |
| 복제본 세트 생성되는 Atlas 리전 입니다. 중요cloud 제공자 리전 이름이 아닌 원하는 리전 의 Atlas 리전 이름을 사용해야 합니다. 사용 가능한 리전 목록은 해당 cloud 서비스 제공자 의 Atlas 설명서를 참조하세요. |
|
(선택 사항) 복제본 세트 배포에 대한 추가 설정을 구성합니다.
spec.parameters.cluster 키 아래에 추가 클러스터 설정을 지정할 수 있습니다. 이러한 설정은 클러스터 공개 API 생성 메서드의 요청 본문 매개변수에 해당합니다.
중요
다음 API 매개변수는 이전 단계의 필수 Atlas Open Service 브로커 설정으로 덮어쓰므로 지정해서는 안 됩니다.
providerSettings.instanceSizeNameproviderSettings.providerNamename
예시
이 예시 리소스 정의는 다음 구성을 가진 atlas 네임스페이스 에 my-atlas-cluster 이라는 클러스터 생성합니다.
클러스터 범위(
ClusterServiceBroker) Atlas Open Service 브로커가 관리합니다.cloud 서비스 제공자 로서의 Amazon Web Services
인스턴스 크기:
M10EU(프랑크푸르트) 리전 에 위치
자동 확장 비활성화됨
Atlas Cloud 제공자 스냅샷 활성화
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-atlas-cluster namespace: atlas spec: clusterServiceClassExternalName: mongodb-atlas-aws clusterServicePlanExternalName: M10 parameters: cluster: providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true
예시
이 예시 리소스 정의는 다음 구성을 가진 atlas 네임스페이스 에 my-atlas-cluster 이라는 클러스터 생성합니다.
네임스페이스 범위(
ServiceBroker) Atlas Open Service 브로커가 관리합니다.cloud 서비스 제공자 로서의 Amazon Web Services
인스턴스 크기:
M10EU(프랑크푸르트) 리전 에 위치
자동 확장 비활성화됨
Atlas Cloud 제공자 스냅샷 활성화
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: my-atlas-cluster namespace: atlas spec: serviceClassExternalName: mongodb-atlas-aws servicePlanExternalName: M10 parameters: cluster: providerSettings: regionName: EU_CENTRAL_1 autoscaling: diskGBEnabled: false providerBackupEnabled: true
복제본 세트를 배포합니다.
다음 Kubernetes 명령을 호출하여 복제본 세트생성합니다.
kubectl apply -f replica-set.yaml
복제본 세트 배포의 상태를 추적합니다.
배포 상태를 보려면 metadata.name 에서 replica-set.yaml 를 다음 명령으로 전달합니다.
svcat describe instance <METADATA.NAME> -n <NAMESPACE>
복제본 세트가 배포되는 동안 명령은 다음 상태를 반환합니다.
Provisioning - The instance is being provisioned asynchronously
복제본 세트가 성공적으로 배포되면 명령은 다음 상태를 반환합니다.
Ready - The instance was provisioned successfully