Importante
O Atlas Open Service Corretor está obsoleto. Em vez disso, use o Operador do MongoDB Atlas.
Clusters fragmentados oferecem dimensionamento horizontal para grandes conjuntos de dados e permitem operações de alta taxa de transferência, distribuindo o conjunto de dados em um grupo de servidores.
Para saber mais sobre fragmentação, consulte a Introdução à fragmentação no manual do MongoDB.
Para implantar um novo cluster fragmentado que o Atlas pode gerenciar, use o Atlas Open Service Corretor e Kubernetes. Após a implantação, utilize o Atlas para adicionar fragmentos e realizar outras operações de manutenção no cluster.
Pré-requisitos
Você cria Atlas clusters fragmentados definindo um objeto. Para implantar um cluster fragmentado usando um objeto do Kubernetes, você deve primeiro instalar o Atlas Open Service Corretor.
Considerações
Limites da API do Atlas
O Atlas Open Service Corretor usa o endpoint Criar um Cluster da API Atlas para implantar clusters fragmentados. Quaisquer requisitos ou limitações dessa API também se aplicam ao Atlas Open Service Corretor.
Procedimento
Crie uma definição de recurso ServiceInstance para seu cluster fragmentado.
Copie um dos seguintes exemplos de definição de recurso com base no escopo da sua instância do Atlas Open Service Agent.
Se você registrou a instância do Atlas Open Service Corretor como:
A
ClusterServiceBroker, selecione a guia Instância com escopo de cluster .A
ServiceBroker, selecione a guia Instância com escopo de namespace .
Copie o seguinte arquivo YAML, que você pode modificar para atender à configuração desejada:
1 apiVersion: servicecatalog.k8s.io/v1beta1 2 kind: ServiceInstance 3 metadata: 4 name: <CLUSTER_NAME> 5 namespace: <NAMESPACE> 6 spec: 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> Copie o seguinte arquivo YAML, que você pode modificar para atender à configuração desejada:
1 apiVersion: servicecatalog.k8s.io/v1beta1 2 kind: ServiceInstance 3 metadata: 4 name: <CLUSTER_NAME> 5 namespace: <NAMESPACE> 6 spec: 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> Abra seu editor de texto preferido e cole a definição do recurso em um novo arquivo de texto.
Configure as configurações necessárias.
Para implementar um cluster fragmentado, você deve especificar as seguintes configurações:
Chave | Descrição | Exemplo | |
|---|---|---|---|
| Nome do cluster no Kubernetes. O Atlas gera aleatoriamente um nome de Atlas cluster correspondente. |
| |
| namespace do Kubernetes onde este cluster é criado. |
| |
| classe Kubernetes que corresponde ao seu provedor de serviços de nuvem Atlas . Para visualizar as classes disponíveis invocando o seguinte comando: Os nomes das classes são listados na coluna |
| |
| Plano de serviço do Kubernetes que corresponde ao tamanho de instância do Atlas desejado. Para visualizar os planos disponíveis, execute o seguinte comando: Os nomes dos planos estão listados na coluna |
| |
spec.parameters.cluster.numShards | Número de shards no cluster fragmentado. |
| |
spec.parameters.cluster.providerSettings.regionName | Região do Atlas onde o cluster é criado. ImportanteCertifique-se de usar o nome da região do Atlas para a região desejada, não o nome da região do provedor de nuvem . Certifique-se de que a região selecionada suporta o tamanho do cluster. Para obter uma lista das regiões disponíveis, consulte a documentação do Atlas do seu provedor de serviço de nuvem: |
|
Chave | Descrição | Exemplo | |
|---|---|---|---|
| Nome do cluster no Kubernetes. O Atlas gera aleatoriamente um nome de Atlas cluster correspondente. |
| |
| namespace do Kubernetes onde este cluster é criado. |
| |
| classe Kubernetes que corresponde ao seu provedor de serviços de nuvem Atlas . Para visualizar as classes disponíveis invocando o seguinte comando: Os nomes das classes são listados na coluna |
| |
| Plano de serviço do Kubernetes que corresponde ao tamanho de instância do Atlas desejado. Para visualizar os planos disponíveis, execute o seguinte comando: Os nomes dos planos estão listados na coluna |
| |
spec.parameters.cluster.numShards | Número de shards no cluster fragmentado. |
| |
spec.parameters.cluster.providerSettings.regionName | Região do Atlas onde o cluster é criado. ImportanteCertifique-se de usar o nome da região do Atlas para a região desejada, não o nome da região do provedor de nuvem . Certifique-se de que a região selecionada suporta o tamanho do cluster. Para obter uma lista das regiões disponíveis, consulte a documentação do Atlas do seu provedor de serviço de nuvem: |
|
(Opcional) Configure quaisquer configurações adicionais para uma implantação de cluster fragmentado.
Você pode especificar configurações de cluster adicionais na chave spec.parameters.cluster. Essas configurações correspondem aos parâmetros do corpo da solicitação do método Criar um Cluster API.
Importante
Os seguintes parâmetros da API são substituídos pelas configurações necessárias do Atlas Open Service Agent da etapa anterior e não devem ser especificados:
providerSettings.instanceSizeNameproviderSettings.providerNamename
Exemplo
Esta definição de recurso de exemplo cria um cluster fragmentado chamado my-sharded-cluster no namespace atlas que tem a seguinte configuração:
Gerenciado por um Corretor de Serviço Aberto do Atlas com escopo de cluster (
ClusterServiceBroker)Amazon Web Services como provedor de serviços de nuvem
Um tamanho de instância de
M30Composto por três fragmentos
Localizado na região da UE (Frankfurt)
Auto-scaling desabilitado
Snapshots do provedor de nuvem do Atlas habilitado
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
Exemplo
Esta definição de recurso de exemplo cria um cluster fragmentado chamado my-sharded-cluster no namespace atlas que tem a seguinte configuração:
Gerenciado por um Corretor de Serviço Aberto do Atlas com escopo de namespace (
ServiceBroker)Amazon Web Services como provedor de serviços de nuvem
Um tamanho de instância de
M30Composto por três fragmentos
Localizado na região da UE (Frankfurt)
Auto-scaling desabilitado
Snapshots do provedor de nuvem do Atlas habilitado
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
Implemente o cluster fragmentado.
Invoque o seguinte comando do Kubernetes para criar seu cluster fragmentado:
kubectl apply -f sharded-cluster.yaml
Monitore o status de sua implantação de cluster fragmentado.
Para visualizar o status do seu sistema, passe o metadata.name de sharded-cluster.yaml para o seguinte comando:
svcat describe instance <METADATA.NAME> -n <NAMESPACE>
Conforme o cluster fragmentado está sendo implantado, o comando retorna o seguinte status:
Provisioning - The instance is being provisioned asynchronously
Depois que o cluster fragmentado for implementado corretamente, o comando retornará o seguinte status:
Ready - The instance was provisioned successfully