Docs Menu
Docs Home
/
Atlas Open Service 브로커
/

샤딩된 클러스터 배포

중요

Atlas Open Service 브로커는 더 이상 사용되지 않습니다. 대신MongoDB Atlas 연산자 를 사용합니다.

샤드 클러스터 는 대규모 데이터 세트에 대한 수평적 확장을 제공하고, 데이터 세트를 서버 그룹에 분산하여 처리량이 많은 작업을 활성화합니다.

샤딩에 대해 자세히 학습하려면 MongoDB 매뉴얼의 샤딩 소개 를 참조하세요.

Atlas가 관리할 수 있는 새로운 샤드 클러스터를 배포하려면 Atlas Open Service Broker 및 Kubernetes를 사용하세요. 배포 후 Atlas를 사용하여 샤드를 추가하고 클러스터에서 기타 유지 관리 작업을 수행할 수 있습니다.

객체 정의하여 Atlas 샤딩된 클러스터를 생성합니다. Kubernetes 객체 사용하여 샤딩된 클러스터 배포 하려면 먼저 Atlas Open Service 브로커를 설치해야 합니다.

Atlas Open Service 브로커는 Atlas API 의 클러스터 생성 엔드포인트를 사용하여 샤딩된 클러스터를 배포 . 해당 API 의 모든 요구 사항 또는 제한 사항은 Atlas Open Service 브로커에도 적용 .

1
  1. Atlas Open Service 브로커 인스턴스의 범위에 따라 다음 리소스 정의 예시 중 하나를 복사합니다.

    Atlas Open Service 브로커 인스턴스를 다음과 같이 등록한 경우:

    • ClusterServiceBroker, Cluster-scoped Instance(클러스터 범위 인스턴스) 탭을 선택합니다.

    • ServiceBroker 네임스페이스 범위 인스턴스 탭을 선택합니다.


    원하는 구성에 맞게 수정할 수 있는 다음 YAML 파일 복사합니다.

    1apiVersion: servicecatalog.k8s.io/v1beta1
    2kind: ServiceInstance
    3metadata:
    4 name: <CLUSTER_NAME>
    5 namespace: <NAMESPACE>
    6spec:
    7 clusterServiceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS>
    8 clusterServicePlanExternalName: <INSTANCE_SIZE_PLAN>
    9 parameters:
    10 cluster:
    11 numShards: <NUMBER_OF_SHARDS>
    12 providerSettings:
    13 regionName: <ATLAS_REGION>

    원하는 구성에 맞게 수정할 수 있는 다음 YAML 파일 복사합니다.

    1apiVersion: servicecatalog.k8s.io/v1beta1
    2kind: ServiceInstance
    3metadata:
    4 name: <CLUSTER_NAME>
    5 namespace: <NAMESPACE>
    6spec:
    7 serviceClassExternalName: <CLOUD_SERVICE_PROVIDER_CLASS>
    8 servicePlanExternalName: <INSTANCE_SIZE_PLAN>
    9 parameters:
    10 cluster:
    11 numShards: <NUMBER_OF_SHARDS>
    12 providerSettings:
    13 regionName: <ATLAS_REGION>
  2. 원하는 텍스트 편집기를 열고 리소스 정의를 새 텍스트 파일에 붙여넣습니다.

2

샤딩된 클러스터 배포 하려면 다음 설정을 지정해야 합니다.

설명
예시

metadata.name

Kubernetes 의 클러스터 이름입니다. Atlas 해당 Atlas cluster 이름을 무작위로 생성합니다.

my-atlas-cluster

metadata.namespace

이 클러스터 생성되는 Kubernetes 네임스페이스 입니다.

atlas

spec.clusterServiceClassExternalName

Atlas cloud 서비스 제공자 에 해당하는 Kubernetes 클래스입니다.

다음 명령을 호출하여 사용 가능한 클래스를 확인합니다.

svcat marketplace -n <NAMESPACE>

클래스 이름은 명령 출력의 CLASS 열에 나열됩니다.

mongodb-atlas-aws

spec.clusterServicePlanExternalName

원하는 Atlas 인스턴스 크기에 해당하는 Kubernetes 서비스 계획입니다.

다음 명령을 호출하여 사용 가능한 요금제를 확인합니다.

svcat marketplace -n <NAMESPACE>

계획 이름은 명령 출력의 PLANS 열에 나열됩니다.

M30

spec.parameters.cluster
.numShards

샤딩된 클러스터의 샤드 수입니다.

3

spec.parameters.cluster
.providerSettings.regionName

클러스터 생성되는 Atlas 리전 입니다.

중요

cloud 제공자 리전 이름이 아닌 원하는 리전 의 Atlas 리전 이름을 사용해야 합니다. 선택한 리전 이 클러스터 크기를 지원하는지 확인합니다.

사용 가능한 리전 목록은 해당 cloud 서비스 제공자 의 Atlas 설명서를 참조하세요.

EU_CENTRAL_1

설명
예시

metadata.name

Kubernetes 의 클러스터 이름입니다. Atlas 해당 Atlas cluster 이름을 무작위로 생성합니다.

my-atlas-cluster

metadata.namespace

이 클러스터 생성되는 Kubernetes 네임스페이스 입니다.

atlas

spec.serviceClassExternalName

Atlas cloud 서비스 제공자 에 해당하는 Kubernetes 클래스입니다.

다음 명령을 호출하여 사용 가능한 클래스를 확인합니다.

svcat marketplace -n <NAMESPACE>

클래스 이름은 명령 출력의 CLASS 열에 나열됩니다.

mongodb-atlas-aws

spec.servicePlanExternalName

원하는 Atlas 인스턴스 크기에 해당하는 Kubernetes 서비스 계획입니다.

다음 명령을 호출하여 사용 가능한 요금제를 확인합니다.

svcat marketplace -n <NAMESPACE>

계획 이름은 명령 출력의 PLANS 열에 나열됩니다.

M30

spec.parameters.cluster
.numShards

샤딩된 클러스터의 샤드 수입니다.

3

spec.parameters.cluster
.providerSettings.regionName

클러스터 생성되는 Atlas 리전 입니다.

중요

cloud 제공자 리전 이름이 아닌 원하는 리전 의 Atlas 리전 이름을 사용해야 합니다. 선택한 리전 이 클러스터 크기를 지원하는지 확인합니다.

사용 가능한 리전 목록은 해당 cloud 서비스 제공자 의 Atlas 설명서를 참조하세요.

EU_CENTRAL_1

3

spec.parameters.cluster 키 아래에 추가 클러스터 설정을 지정할 수 있습니다. 이러한 설정은 클러스터 API생성 메서드의 요청 본문 매개변수에 해당합니다.

중요

다음 API 매개변수는 이전 단계의 필수 Atlas Open Service 브로커 설정으로 덮어쓰므로 지정해서는 안 됩니다.

  • providerSettings.instanceSizeName

  • providerSettings.providerName

  • name

예시

이 예시 리소스 정의는 다음 구성을 가진 atlas 네임스페이스에 my-sharded-cluster 라는 샤딩된 클러스터 를 생성합니다.

  • 클러스터 범위(ClusterServiceBroker) Atlas Open Service 브로커가 관리합니다.

  • cloud 서비스 제공자 로서의 Amazon Web Services

  • 인스턴스 크기: M30

  • 3개의 샤드로 구성

  • EU(프랑크푸르트) 리전 에 위치

  • 자동 확장 비활성화됨

  • Atlas Cloud 제공자 스냅샷 활성화

apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: my-sharded-cluster
namespace: atlas
spec:
clusterServiceClassExternalName: mongodb-atlas-aws
clusterServicePlanExternalName: M30
parameters:
cluster:
numShards: 3
providerSettings:
regionName: EU_CENTRAL_1
autoscaling:
diskGBEnabled: false
providerBackupEnabled: true

예시

이 예시 리소스 정의는 다음 구성을 가진 atlas 네임스페이스에 my-sharded-cluster 라는 샤딩된 클러스터 를 생성합니다.

  • 네임스페이스 범위(ServiceBroker) Atlas Open Service 브로커가 관리합니다.

  • cloud 서비스 제공자 로서의 Amazon Web Services

  • 인스턴스 크기: M30

  • 3개의 샤드로 구성

  • EU(프랑크푸르트) 리전 에 위치

  • 자동 확장 비활성화됨

  • Atlas Cloud 제공자 스냅샷 활성화

apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: my-sharded-cluster
namespace: atlas
spec:
serviceClassExternalName: mongodb-atlas-aws
servicePlanExternalName: M30
parameters:
cluster:
numShards: 3
providerSettings:
regionName: EU_CENTRAL_1
autoscaling:
diskGBEnabled: false
providerBackupEnabled: true
4
5

다음 Kubernetes 명령을 호출하여 샤딩된 클러스터생성합니다.

kubectl apply -f sharded-cluster.yaml
6

배포 상태를 보려면 metadata.name 에서 sharded-cluster.yaml 를 다음 명령으로 전달합니다.

svcat describe instance <METADATA.NAME> -n <NAMESPACE>

샤딩된 클러스터 배포되는 동안 명령은 다음 상태를 반환합니다.

Provisioning - The instance is being provisioned asynchronously

샤딩된 클러스터 성공적으로 배포되면 명령은 다음 상태를 반환합니다.

Ready - The instance was provisioned successfully

돌아가기

복제 세트 배포

이 페이지의 내용