AtlasDeployment
Recurso personalizado
Nesta página
O recurso personalizado AtlasDeployment
configura seu MongoDB cluster ou instância sem servidor no Atlas. Quando você cria o recurso personalizado AtlasDeployment
, o Atlas Kubernetes Operator tenta criar ou atualizar um cluster ou instância sem servidor no Atlas.
Importante
ação necessária para alteração interruptiva com o Atlas Kubernetes Operator 2.0
Com o Atlas Kubernetes Operator 2.0,
deploymentSpec
substituiadvancedDeploymentSpec
noAtlasDeployment
recurso personalizado. Você deve atualizar seu recurso personalizado doAtlasDeployment
como segue:Se você usar
advancedDeploymentSpec
, renomeie-o paradeploymentSpec
. Você não precisa alterar nenhuma formatação.Se você usava
deploymentSpec
antes do Atlas Kubernetes Operator 2.0, reescreva seuAtlasDeployment
recurso personalizado para corresponder à formatação usada nos exemplos.
O Atlas Kubernetes Operator usa arquivos de configuração derecurso personalizado para gerenciar sua configuração do Atlas . A partir do Atlas Kubernetes Operator 2.0, os recursos personalizados que você exclui no Kubernetes não são mais excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos. Por exemplo, se você excluir um
AtlasProject
Recurso Personalizado em Kubernetes, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas, evitando exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes Operator 2.0, consulte Novo padrão: proteção de exclusão no Atlas Kubernetes Operator 2.0.
O Atlas Kubernetes Operator realiza uma das seguintes ação, dependendo dos valores que você especificar no recurso personalizado AtlasDeployment
:
Se você especificar valores para campos em
spec.deploymentSpec
, o Atlas Kubernetes Operator utilizará o Recurso da API Atlas Clusters para criar um novo cluster ou atualizar um cluster existente.Se você especificar valores para os campos em
spec.serverlessSpec
, o Atlas Kubernetes Operator utilizará o Recurso da API de Instância sem Servidor do Atlas para criar uma nova instância sem servidor ou atualizar uma instância sem servidor existente.
Criar ou atualizar um cluster ou uma instância sem servidor pode levar até 10 minutos. O Atlas Kubernetes Operator monitora o processo de atualização.
Você pode executar o seguinte comando para verificar o status:
kubectl get atlasdeployment -o yaml
O exemplo a seguir mostra a seção de status de um cluster que está provisionando:
status: conditions: - lastTransitionTime: "2021-03-18T16:32:43Z" status: "False" type: ClusterReady reason: ClusterCreating message: Cluster is provisioning
O status ClusterReady
mudará para True
quando o cluster ou a instância sem servidor estiver pronto.
Exemplos
Exemplo de status
O exemplo a seguir mostra o recurso AtlasDeployment
com um status ClusterReady
de True
:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: projectRef: name: my-project deploymentSpec: name: test-cluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: US-Zone numShards: 3 regionConfigs: - regionName: CENTRAL_US providerName: GCP backingProviderName: GCP priority: 7 electableSpecs: instanceSize: M10 nodeCount: 3 status: conditions: - lastTransitionTime: "2021-03-18T16:32:43Z" status: "True" type: Ready - lastTransitionTime: "2021-03-18T16:32:43Z" status: "True" type: ClusterReady connectionStrings: standard: mongodb://test-cluster-shard-00-00.kpc8f.mongodb.net:27017,test-cluster-shard-00-01.kpc8f.mongodb.net:27017,test-cluster-shard-00-02.kpc8f.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-1gm1pv-shard-0 standardSrv: mongodb+srv://test-cluster.kpc8f.mongodb.net mongoDBVersion: 6.0 mongoURIUpdated: "2021-03-12T12:21:41Z" observedGeneration: 1 stateName: IDLE
Exemplo de configuração
O exemplo a seguir mostra uma especificação de recurso personalizada AtlasDeployment
configurada para dimensionamento automático de cluster multirregional:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: test-cluster-name namespace: mongodb-atlas-system spec: projectRef: name: development deploymentSpec: clusterType: REPLICASET name: service-name tags: - key: "environment" value: "production" backupEnabled: true replicationSpecs: - numShards: 1 regionConfigs: - regionName: EASTERN_US providerName: GCP autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40 analyticsSpecs: instanceSize: M30 nodeCount: 1 electableSpecs: instanceSize: M30 nodeCount: 3 priority: 7 readOnlySpecs: instanceSize: M30 nodeCount: 1
Exemplo de opções adicionais
O exemplo a seguir mostra uma especificação de recurso personalizado AtlasDeployment
configurada com algumas das opções adicionais.
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: name: test-cluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: Zone 1 regionConfigs: - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1 priority: 7 processArgs: javascriptEnabled: false
Exemplo de instância sem servidor
O exemplo a seguir mostra uma especificação de recurso personalizada AtlasDeployment
configurada para uma instância sem servidor:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: test-cluster-name namespace: mongodb-atlas-system spec: projectRef: name: development serverlessSpec: name: serverless-instance tags: - key: "environment" value: "production" providerSettings: providerName: AWS regionName: US_EAST_1
Exemplo de cluster multirregional
Os clusters podem abranger regiões e provedores de serviços em nuvem. Para saber mais, consulte Considerações.
Observação
Enquanto o Atlas Cluster API Resource envia solicitações usando as versões daAPI v1.5
do Atlas , o campo Atlas Kubernetes Operator apiVersion
usa v1
. Nesse caso, v1
refere-se à versão da API do Kubernetes.
O exemplo seguinte mostra uma especificação de recurso personalizada do AtlasDeployment
configurada para cluster multirregional:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: clusterType: REPLICASET name: tenantCluster tags: - key: "environment" value: "production" replicationSpecs: - zoneName: Zone 1 regionConfigs: priority: 7 - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1
Exemplo de vários provedores de serviços em cloud
O exemplo a seguir mostra uma especificação de recurso personalizada AtlasDeployment
configurada para abranger vários provedores de serviços de cloud:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster spec: projectRef: name: my-project deploymentSpec: clusterType: REPLICASET name: tenantCluster tags: - key: "environment" value: "production" replicationSpecs: - regionConfigs: - electableSpecs: instanceSize: M10 nodeCount: 3 providerName: AWS regionName: US_EAST_1 priority: 7 - electableSpecs: instanceSize: M10 nodeCount: 2 providerName: AZURE regionName: US_EAST_2 priority: 6 - electableSpecs: instanceSize: M10 nodeCount: 2 providerName: GCP regionName: CENTRAL_US priority: 5
Exemplo de índice Atlas Search
O exemplo seguinte mostra uma especificação de recurso personalizado AtlasDeployment
configurada para criar um índice de Atlas Search para a coleção listingsAndReviews
e grades
:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: deploymentSpec: backupEnabled: true clusterType: REPLICASET name: Test-cluster-M10 replicationSpecs: - regionConfigs: - backingProviderName: AWS electableSpecs: instanceSize: M10 nodeCount: 3 priority: 7 providerName: AWS regionName: US_EAST_1 zoneName: Zone 1 searchIndexes: - DBName: sample_training collectionName: grades name: test-vector-search-index type: vectorSearch vectorSearch: fields: - numDimensions: 1000 path: student_id similarity: euclidean type: vector - DBName: sample_airbnb collectionName: listingsAndReviews name: my-index search: mappings: dynamic: true searchConfigurationRef: name: atlassearchindexconfig-sample namespace: mongodb-atlas-system type: search terminationProtectionEnabled: false projectRef: name: my-project namespace: mongodb-atlas-system
Exemplo de nós Atlas Search
O exemplo seguinte mostra uma especificação de recurso personalizado do AtlasDeployment
configurada para criar nós de Atlas Search :
apiVersion: atlas.mongodb.com/v1 kind: AtlasDeployment metadata: name: my-atlas-cluster namespace: mongodb-atlas-system spec: deploymentSpec: backupEnabled: true clusterType: REPLICASET name: Test-cluster-M10 replicationSpecs: - regionConfigs: - backingProviderName: AWS electableSpecs: instanceSize: M10 nodeCount: 3 priority: 7 providerName: AWS regionName: US_EAST_1 zoneName: Zone 1 searchNodes: - instanceSize: S20_HIGHCPU_NVME nodeCount: 2
Parâmetros
Esta seção descreve alguns dos principais parâmetros de recursos personalizados AtlasDeployment
disponíveis.
Para obter uma lista completa dos parâmetros disponíveis para clusters, consulte a API de Clusters do Atlas.
Para obter uma lista completa dos parâmetros disponíveis para instâncias sem servidor, consulte a API Atlas Instâncias sem Servidor API.
Para personalizar suas especificações, consulte estas descrições, os exemplos disponíveis e a documentação da API .
spec.backupRef
Tipo: objeto
Opcional
Lista que contém os detalhes do Recurso Personalizado
AtlasBackupSchedule
que você deseja aplicar. Você pode especificar um agendamento de backup por cluster.
spec.backupRef.name
Tipo: string
Opcional
metadata.name
valor dentro do Recurso PersonalizadoAtlasBackupSchedule
para o agendamento de backup que você deseja aplicar. Você pode especificar apenas um agendamento de backup por cluster, mas pode usar o mesmo agendamento de backup para vários clusters.Se você omitir este parâmetro, o Atlas não aplicará sua configuração de cópia de segurança a este cluster.
spec.backupRef.namespace
Tipo: string
Opcional
String que indica o namespace que contém o Recurso Personalizado
AtlasBackupSchedule
para o agendamento de backup que você deseja aplicar.
spec.deploymentSpec
Tipo: array
Condicional
Lista que contém os parâmetros do cluster da API. Para obter uma lista completa dos parâmetros disponíveis, consulte a APIdo Atlas API.
Importante
Você deve especificar
spec.deploymentSpec
ouspec.serverlessSpec
em sua configuração.
spec.deploymentSpec.clusterType
Tipo: string
Condicional
Etiqueta legível para humanos que identifica o tipo de cluster a ser criado.
Quando você deve usar esse parâmetro?
CondiçãonecessidadeVocê definespec.deploymentSpec.replicationSpecs
.ObrigatórioVocê está implantando clusters globais.ObrigatórioVocê está implementando conjuntos de réplicas não globais e clusters fragmentados.OpcionalAtlas aceita:
ValorTipo de clusterConjunto de réplicasConjunto de réplicasFragmentadocluster fragmentadoGeofragmentado
spec.deploymentSpec.customZoneMapping
Tipo: array
Obrigatório
Lista que contém parâmetros do Cluster Global que mapeia zonas para regiões geográficas. Para obter uma lista completa dos parâmetros disponíveis, consulte a Atlas API Clusters.
spec.deploymentSpec.customZoneMapping.location
Tipo: string
Obrigatório
Código que representa um local mapeado para uma zona no seu cluster global.
spec.deploymentSpec.customZoneMapping.zone
Tipo: string
Obrigatório
Etiqueta legível para humanos que identifica a zona em seu cluster global.
spec.deploymentSpec.diskSizeGB
Tipo: número
Opcional
Capacidade, em gigabytes, que indica o volume raiz do host. Aumente esse número para adicionar capacidade, até um valor máximo possível de
4096
(4 TB). Você deve especificar um número positivo para esse valor.Não é possível definir esse valor para clusters com SSDs NVMe locais.
Observação
Se você ativar o autoscaling para
diskGB
em qualquer região, não poderá editar esta opção. Para saber mais, consultespec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled
.O tamanho mínimo do disco para clusters dedicados é de 10 GB para AWS e Google Cloud. Se você especificar essa configuração com um tamanho de disco menor, o Atlas assumirá como padrão o valor mínimo do tamanho do disco.
Se o comando de banco de dados incluir nós Azure, esse valor deverá corresponder a um tipo de disco Azure existente (8, 16, 32, 64, 128, 256, 512, 1024, 2048 ou 4096).
O Atlas calcula as cobranças de armazenamento de forma diferente, dependendo se você escolher o valor padrão ou um valor personalizado.
O Atlas tem limites de capacidade de disco em conjuntos de réplicas únicas, podendo escalar até 4 TB para camadas de cluster mais altas. Para expandir o armazenamento total do cluster além dos limites padrão, você pode habilitar o armazenamento estendido nas Configurações do projeto. Para acomodar maior escalabilidade no futuro, recomendamos que você habilite a fragmentação para expansão de longo prazo.
Se o seu comando de banco de dados abranger provedores de serviços de cloud, esse valor assumirá como padrão o padrão mínimo dos provedores envolvidos.
Para saber mais, consulte Capacidade de armazenamento.
spec.deploymentSpec.encryptionAtRestProvider
Tipo: string
Opcional
Provedor de serviços de cloud que managed a chave do cliente para esse cluster. Você deve definir esse valor para habilitar a criptografia em descanso usando chaves managed pelo cliente para esse cluster, que fornece uma camada adicional de criptografia. Para saber mais, consulte Criptografar dados usando um serviço de gerenciamento de chaves.
O Atlas aceita os seguintes valores:
ValorProvedor de nuvemAWSAmazon AWSGCPGoogle cloudAZUREMicrosoft AzurenoneSem fornecedor, o cluster não criptografa dados usando chaves gerenciadas pelo consumidor.
spec.deploymentSpec.managedNamespaces
Tipo: array
Obrigatório
Lista que contém informações para criar um namespace gerenciado em um cluster global especificado a ser criado. Para obter uma lista completa dos parâmetros disponíveis, consulte a Atlas API Clusters.
spec.deploymentSpec.managedNamespaces.collection
Tipo: string
Obrigatório
Rótulo legível por humanos da coleção a ser gerenciada neste cluster global.
spec.deploymentSpec.managedNamespaces.db
Tipo: string
Obrigatório
Etiqueta legível para humanos do banco de banco de dados a ser gerenciado neste cluster global.
spec.deploymentSpec.managedNamespaces.isCustomShardKeyHashed
Tipo: booleano
Opcional
Sinalizador que indica se o hash da chave de shard personalizada deve ser feito para a collection especificada. Este parâmetro é padronizado como
false
.Defina como
true
para habilitar uma chave de shard personalizada para a collection.Defina como
false
para desativar uma chave de shard personalizada para a coleção. Se diabled, o MongoDB usa sharding à distância.
Para saber mais, consulte Hashed Shard Keys.
spec.deploymentSpec.managedNamespaces.isCustomShardKeyUnique
Tipo: booleano
Opcional
Sinalizador que indica se a chave de shard personalizada para a collection especificada é exclusiva. Este parâmetro é padronizado como
false
.Defina como
true
para habilitar uma chave de shard personalizada exclusiva para a collection.Defina como
false
para desabilitar uma chave de shard personalizada exclusiva para a collection.
spec.deploymentSpec.managedNamespaces.numInitialChunks
Tipo: inteiro
Opcional
Número mínimo de chunks a serem criados inicialmente ao fragmentar uma coleção vazia com uma chave fragmentada com hash.
Para saber mais, consulte Shard a Global Collection.
spec.deploymentSpec.managedNamespaces.presplitHashedZones
Tipo: booleano
Opcional
Sinalizador que indica se o MongoDB cloud deve criar e distribuir partes iniciais para uma collection vazia ou inexistente. Este parâmetro é padronizado como
false
.Defina como
true
para que o MongoDB cloud crie e distribua partes iniciais para uma collection vazia ou inexistente.Defina como
false
para que o MongoDB cloud não crie e distribua partes iniciais para uma collection vazia ou inexistente.
spec.deploymentSpec.mongoDBMajorVersion
Tipo: string
Opcional
Versão do cluster a ser implementada. O Atlas suporta as seguintes versões MongoDB para clusters do
M10+
:5.0
6.0
7.0
As seguintes condições produzem os seguintes resultados:
CondiçãoResultadoVocê omite este parâmetro e omite o parâmetrospec.deploymentSpec.versionReleaseSystem
.O Atlas implementa um cluster que executa o MongoDB 7.0.Você omite este parâmetro e define o parâmetrospec.deploymentSpec.versionReleaseSystem
comoLTS
.O Atlas implementa um cluster que executa o MongoDB 7.0.Você define o parâmetrospec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
comoM0
,M2
ouM5
.Você deve distribuir o MongoDB 7.0.Você especifica este parâmetro.O Atlas sempre implementa o cluster com a versão de patch estável mais recente da versão especificada.Você define o parâmetrospec.deploymentSpec.versionReleaseSystem
comoCONTINUOUS
.Você deve omitir este parâmetro.
spec.deploymentSpec.pitEnabled
Tipo: booleano
Condicional
Configuração que habilita o backup em cloud contínuo. Para habilitar o backup em cloud contínuo, você deve especificar
true
para esta configuração.
spec.deploymentSpec.replicationSpecs
Tipo : array de objetos
Condicional
Lista que contém as configurações para suas regiões de cluster. Use esse parâmetro para clusters multirregionais. Você deve definir
spec.deploymentSpec.replicationSpecs.regionConfigs.regionName
ouspec.deploymentSpec.replicationSpecs
.Quando você deve usar esse parâmetro?
CondiçãonecessidadeValuesVocê está implantando clusters globais.ObrigatórioCada objeto na array representa uma zona onde o Atlas implanta os nós do seu cluster.Você está implementando conjuntos de réplicas não globais e clusters fragmentados.OpcionalEssa array tem um objeto que representa onde o Atlas distribui os nós do cluster.Se você especificar este parâmetro, você também deverá especificar
spec.deploymentSpec.clusterType
espec.deploymentSpec.replicationSpecs.numShards
.
spec.deploymentSpec.replicationSpecs.numShards
Tipo: inteiro
Condicional
Número inteiro positivo que especifica o número de fragmentos a serem distribuídos para um cluster fragmentado.
Se você utilizar o parâmetro
spec.deploymentSpec.replicationSpecs
, você deverá configurar este parâmetro.O Atlas aceita de
1
a50
, inclusive. O valor padrão é1
.Se você especificar um valor de
1
e definirspec.deploymentSpec.clusterType
comoSHARDED
, o Atlas implantará um cluster fragmentado fragmentado de fragmento único.Se você especificar
1
e configurarspec.deploymentSpec.clusterType
paraREPLICASET
, o Atlas implantará um conjunto de réplicas.Não crie um cluster fragmentado com um único fragmento para ambientes de produção. Os clusters de fragmentos únicos não fornecem os mesmos benefícios que as configurações de vários fragmentos.
Observação
Para garantir a distribuição consistente de dados, você não pode aumentar o número de shards na mesma solicitação de atualização ao atualizar seu cluster de um conjunto de réplicas para um cluster fragmentado. Você pode adicionar shards adicionais quando seu cluster tiver sido atualizado e você tiver garantido que todos os clientes tenham se reconectado ao roteador do MongoDB.
spec.deploymentSpec.replicationSpecs.regionConfigs
Tipo: array
Obrigatório
Especificações de hardware para nós definidos para uma determinada região. Cada objeto
regionConfigs
descreve a prioridade da região nas eleições e o número e tipo de nós do MongoDB que o Atlas implementa na região.Cada objeto
regionConfigs
deve ter um objetoanalyticsSpecs
, um objetoelectableSpecs
ou um objetoreadOnlySpecs
.M0
,M2
ou clustersM5
exigem apenaselectableSpecs
.O cluster dedicado pode especificar qualquer uma dessas especificações, mas deve ter pelo menos um objeto
electableSpecs
dentro de umreplicationSpec
.Toda especificação de hardware deve usar o mesmo
instanceSize
.
spec.deploymentSpec.replicationSpecs.regionConfigs.analyticsSpecs
Tipo: objeto
Opcional
Especificações de hardware para nós de analítica necessários na região. Os nós de analítica lidam com dados analíticos, como reportar queries do BI Connector for Atlas. Os nós de analítica são somente para leitura e nunca podem se tornar os primary.
Se você não especificar este parâmetro, o Atlas não implantará nenhuma analítica para esta região.
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.diskGB.enabled
Tipo: booleano
Opcional
Sinalizador que indica se o comando de banco de dados permite o dimensionamento automático de disco. Este parâmetro é padronizado como
true
.Defina como
true
para ativar o dimensionamento automático do disco.Defina como
false
para desabilitar o dimensionamento automático do disco.
A quantidade máxima de RAM para a camada do cluster selecionada e o tamanho do oplog podem limitar o auto-scaling de armazenamento. Para saber mais, consulte Personalizar seu armazenamento.
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
Tipo: booleano
Opcional
Sinalizador que indica se o autoscaling do tamanho da instância está habilitado. Este parâmetro é padronizado como
false
.Defina como
true
para habilitar o dimensionamento automático do tamanho da instância. Se habilitado, você deve especificar um valor paraspec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
.Defina como
false
para desabilitar o dimensionamento automático do tamanho da instância.
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
Tipo: string
Condicional
string que indica o tamanho máximo da instância para a qual o sistema de banco de dados pode ser dimensionado automaticamente (como
M40
). Você deve especificar este parâmetro se você configurar ospec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
paratrue
.Observação
Se você definir um tamanho máximo de instância menor que o tamanho de instância atual do comando de banco de dados com o autoscaling ativado, o Atlas dimensionará automaticamente o tamanho atual da instância para o valor máximo especificado.
Por exemplo, se o tamanho da instância atual do comando de banco de dados for
M40
e você definir o tamanho máximo da instância comoM30
, o Atlas escalará automaticamente o tamanho da instância atual paraM30
.Se o Atlas alterar o tamanho da instância atual e você não alterar o
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
no Atlas Kubernetes Operator para corresponder ao novo tamanho da instância, o Atlas Kubernetes Operator exibirá um aviso nos registros, mas não impedirá o escalonamento automático.
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
Tipo: string
Condicional
string que indica o tamanho mínimo da instância para a qual o sistema de banco de dados pode ser dimensionado automaticamente (como
M10
). Você deve especificar este parâmetro se você configurar ospec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
paratrue
.Observação
Se você definir um tamanho mínimo de instância maior que o tamanho de instância atual do comando de banco de dados com o autoscaling ativado, o Atlas dimensionará automaticamente o tamanho atual da instância para o valor mínimo especificado.
Por exemplo, se o tamanho da instância atual do comando de banco de dados for
M10
e você definir o tamanho mínimo da instância comoM30
, o Atlas escalará automaticamente o tamanho da instância atual paraM30
.Se o Atlas alterar o tamanho da instância atual e você não alterar o
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
no Atlas Kubernetes Operator para corresponder ao novo tamanho da instância, o Atlas Kubernetes Operator exibirá um aviso nos registros, mas não impedirá o escalonamento automático.
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs
Tipo: objeto
Opcional
Especificações de hardware para nós elegíveis na região. Os nós elegíveis podem se tornar o primary e podem habilitar leituras locais.
Se você não especificar esta opção, o Atlas não implantará nós elegíveis na região.
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize
Tipo: string
Condicional
Especificação de hardware para os tamanhos de instância nesta região. Cada tamanho de instância tem uma capacidade de armazenamento e memória padrão. O tamanho da instância selecionado se aplica a todos os hosts portadores de dados no tamanho da instância. Para saber mais, consulte os tamanhos de armazenamento personalizados da Amazon Web Services, GCP e Azure .
Se você implantar um cluster fragmentado ou cluster global, deverá escolher um tamanho de instância de
M30
ou superior.Se você alterar o nome do tamanho da instância após distribuir o cluster, o Atlas alterará o sistema de banco de dados para o tamanho da instância especificado, a menos que ele esteja fora do intervalo especificado em
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
espec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
com o dimensionamento automático ativado. Para saber mais, consultespec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize
espec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.maxInstanceSize
.Observação
Se você tiver o autoscaling habilitado para o campo de computação, não poderá editar esta opção. Para saber mais, consulte
spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.enabled
.Observação
Você pode alterar essa configuração para atualizar um cluster
M0
,M2
ouM5
para um clusterM10+
. No entanto, você não pode atualizar um clusterM0
,M2
ouM5
para outro cluster compartilhado ou gratuito. Por exemplo, você não pode atualizar um clusterM0
para um clusterM5
.
spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.nodeCount
Tipo: inteiro
Condicional
Número de nós elegíveis para o Atlas implantar na região. Os nós elegíveis podem se tornar o primary e podem habilitar leituras locais.
O
electableSpecs.nodeCount
combinado em todos os objetosreplicationSpecs.regionConfigs
deve totalizar3
,5
ou7
.Não é possível criar nós elegíveis se
spec.deploymentSpec.replicationSpecs.regionConfigs.priority
for0
.
spec.deploymentSpec.replicationSpecs.regionConfigs.priority
Tipo: inteiro
Obrigatório
A precedência é dada a essa região quando ocorre uma eleição do primário.
Se o seu
regionConfigs
tiver apenasreadOnlySpecs
,analyticsSpecs
ou ambos, defina este valor como0
.Se você tiver vários objeto
regionConfigs
(seu cluster é multirregional ou cloud), eles deverão ter prioridade em ordem decrescente. A maior prioridade é7
.Exemplo
Defina sua região de maior prioridade como
7
, sua segunda maior prioridade como6
e sua região de terceira prioridade como5
. Se você não tiver nós elegíveis, defina esse valor como0
.Se sua região definiu
electableSpecs.nodeCount
como1
ou superior, ela deverá ter uma prioridade de exatamente um a menos do que outra região na arrayreplicationSpecs.regionConfigs
, a menos que seja a primary. A região de maior prioridade deve ter uma prioridade de7
. A prioridade mais baixa possível é1
.A região de prioridade
7
identifica a Região Preferencial do cluster. O Atlas coloca o nó primário na região preferencial. As prioridades1
a7
são exclusivas: não é possível atribuir uma determinada prioridade a mais de uma região por cluster.Exemplo
Se você tiver três regiões, suas prioridades serão
7
,6
e5
respectivamente. Se você adicionasse mais duas regiões para apoiar nós elegíveis, as prioridades dessas regiões seriam4
e3
, respectivamente.
spec.deploymentSpec.replicationSpecs.regionConfigs.providerName
Tipo: string
Condicional
Fornecedor de serviços de cloud no qual o Atlas provisiona os hosts.
AWSAmazon AWSGCPGoogle Cloud PlatformAZUREMicrosoft Azure
spec.deploymentSpec.replicationSpecs.regionConfigs.regionName
Tipo: string
Condicional
Localização física do cluster MongoDB. A região que você escolhe pode afetar a latência de rede para clientes que acessam os bancos de dados.
Para obter uma lista completa dos valores de nome de região, consulte as páginas de referência do fornecedor de serviços em nuvem:
Para agrupamentos de múltiplas regiões, consulte
spec.deploymentSpec.replicationSpecs
. Você deve definirspec.deploymentSpec.replicationSpecs.regionConfigs.regionName
ouspec.deploymentSpec.replicationSpecs
.
spec.deploymentSpec.replicationSpecs.regionConfigs.readOnlySpecs
Tipo: objeto
Opcional
Especificações de hardware para nós somente leitura na região. O nó somente leitura nunca pode se tornar o membro primary, mas pode habilitar leituras locais.
Se você não especificar este parâmetro, o Atlas não implantará nós somente leitura na região.
spec.deploymentSpec.replicationSpecs.zoneName
Tipo: string
Opcional
Rótulo legível por humanos que identifica a zona em um cluster global. Forneça esse valor somente se você definir
spec.deploymentSpec.clusterType
comoGEOSHARDED
.
spec.deploymentSpec.searchIndexes
Tipo: array
Opcional
Uma array de
SearchIndex
objetos com campos que descrevem o índice do Atlas Search . Cada objetoSearchIndex
contém os seguintes campos:CampoTipoDescriçãoname
stringRótulo legível por humanos que identifica este índice. Deve ser exclusivo para um sistema.DBName
stringRótulo legível por humanos que identifica o banco de dados existente que contém a collection com um ou mais índices do Atlas Search.
IMPORTANTE: o banco de dados de dados que você especifica já deve existir. Se você não tiver um banco de banco de dados existente, crie um.
collectionName
stringRótulo legível por humanos que identifica a coleção que contém um ou mais índices do Atlas Search.type
stringTipo de índice. O Atlas aceita os seguintes valores:
search
vectorSearch
search
objetoVocê deve incluir este objeto setype
forsearch
. Caso contrário, omita.vectorSearch
objetoVocê deve incluir este objeto setype
forvectorSearch
. Caso contrário, omita.
spec.deploymentSpec.searchIndexes.search
Tipo: objeto
Opcional
CampoTipoDescriçãosynonyms
arrayConjuntos de regras que mapeiam palavras em relação a seus sinônimos neste índicemappings
objetoEspecificações de índice para os campos da collection
Obrigatório
searchConfigurationRef
objetoUma referência de nome/namespace ao recurso personalizado AtlasSearchIndexConfig, descrito abaixo.
Obrigatório
spec.deploymentSpec.searchIndexes.search.synonyms
Tipo: array
Opcional
Uma array de objetos
Synonym
com campos que descrevem conjuntos de regras que mapeiam palavras até seus sinônimos neste índice. Cada objetoSynonym
contém os seguintes campos:CampoTipoDescriçãoname
stringRótulo legível por humanos que identifica a definição de sinônimo. Cada nome deve ser exclusivo dentro da mesma definição de índice
Obrigatório
analyzer
stringMétodo pré-definido específico escolhido para aplicar aos sinônimos a serem pesquisados. Os valores possíveis são:
lucene.standard
lucene.standard
lucene.simple
lucene.whitespace
lucene.keyword
lucene.arabic
lucene.armenian
lucene.basque
lucene.bengali
lucene.brazilian
lucene.bulgarian
lucene.catalan
lucene.chinese
lucene.cjk
lucene.czech
lucene.danish
lucene.dutch
lucene.english
lucene.finnish
lucene.french
lucene.galician
lucene.german
lucene.greek
lucene.hindi
lucene.hungarian
lucene.indonesian
lucene.irish
lucene.italian
lucene.japanese
lucene.korean
lucene.kuromoji
lucene.latvian
lucene.lithuanian
lucene.morfologik
lucene.nori
lucene.norwegian
lucene.persian
lucene.portuguese
lucene.romanian
lucene.russian
lucene.smartcn
lucene.sorani
lucene.spanish
lucene.swedish
lucene.thai
lucene.turkish
lucene.ukrainian
Obrigatório
source
objetoConjunto de dados que armazena o mapeamento de uma ou mais palavras para um ou mais sinônimos dessas palavras
Obrigatório
spec.deploymentSpec.searchIndexes.search.synonyms.source
Tipo: objeto
Obrigatório
CampoTipoDescriçãocollection
stringEtiqueta legível por humanos que identifica a collection MongoDB que armazena palavras e seus sinônimos aplicáveis
Obrigatório
spec.deploymentSpec.searchIndexes.search.mappings
Tipo: objeto
Obrigatório
Um objeto com especificações de Índice para os campos da coleção:
dynamic
booleanoSinalizador que indica se o índice utiliza mapeamentos dinâmicos ou estáticos. Obrigatório se maps.fields for omitido.fields
JSON/YAMLUma ou mais especificações de campo para o índice do Atlas Search. Obrigatório se mapeamentos.dynamic for omitido ou definido como falso.
spec.deploymentSpec.searchIndexes.vectorSearch
Tipo: objeto
Opcional
CampoTipoDescriçãofields
JSON/YAMLArray de objetos JSON. Consulte exemplos https://dochub.mongodb.org/core/avs-vector-type
Obrigatório
spec.deploymentSpec.searchNodes
Tipo: array
Opcional
Uma array de configurações de nós do Atlas Search . Cada elemento contém dois campos:
CampoTipoDescriçãonodeCount
inteiroNúmero de nós do Atlas Search no cluster. O Atlas aceita valores de 2 a 32, inclusive. O número padrão é2
.instanceSize
stringEspecificação de hardware para os tamanhos de instância de nó do Atlas Search . O Atlas aceita uma das seguintes opções:
S20_HIGHCPU_NVME
S30_HIGHCPU_NVME
S40_HIGHCPU_NVME
S50_HIGHCPU_NVME
S60_HIGHCPU_NVME
S70_HIGHCPU_NVME
S80_HIGHCPU_NVME
S30_LOWCPU_NVME
S40_LOWCPU_NVME
S50_LOWCPU_NVME
S60_LOWCPU_NVME
S80_LOWCPU_NVME
S90_LOWCPU_NVME
S100_LOWCPU_NVME
O tamanho da instância padrão é
S20_HIGHCPU_NVME
.
spec.deploymentSpec.tags
Tipo: array
Opcional
Lista que contém tags (pares chave-valor) para entender, organizar e identificar melhor seus sistemas de banco de dados. Para saber mais, consulte Marcações em clusters.
spec.deploymentSpec.versionReleaseSystem
Tipo: string
Condicional
Cadência de liberação que o Atlas usa para esse cluster. Atlas aceita:
CONTINUOUS
: o Atlas cria seu cluster usando a versão mais recente do MongoDB. O Atlas atualiza automaticamente seu cluster para as versões principais e rápidas mais recentes do MongoDB à medida que elas são disponibilizadas.LTS
: o Atlas cria seu cluster usando a versão de patch mais recente da versão MongoDB que você especifica no parâmetrospec.deploymentSpec.mongoDBMajorVersion
. O Atlas atualiza automaticamente seu cluster para versões de patch subsequentes desta versão do MongoDB. O Atlas não atualiza seu cluster para as versões rápidas ou principais mais recentes do MongoDB à medida que elas são disponibilizadas.Se omitido, o padrão é
LTS
.Se você definir este parâmetro como
CONTINUOUS
, deverá omitir o parâmetrospec.deploymentSpec.mongoDBMajorVersion
.
spec.processArgs
Tipo: objeto
Opcional
Objeto que contém as opções de configuração adicionais para seu cluster.
spec.processArgs.defaultReadConcern
Tipo: string
Opcional
string que indica o nível padrão de confirmação solicitado do MongoDB para operações de leitura definidas para o cluster.
Os clusters MongoDB 5.0 são padronizados como locais.
spec.processArgs.defaultWriteConcern
Tipo: string
Opcional
string que indica o nível padrão de confirmação solicitado do MongoDB para operações de gravação definidas para o cluster.
As versões 5.0 e posteriores dos clusters do MongoDB são padronizadas como maioria.
spec.processArgs.failIndexKeyTooLong
Tipo: booleano
Opcional
Sinalizador que indica se a operação deve falhar e retornar um erro ao inserir ou atualizar documentos em que todas as entradas indexadas excedam 1024 bytes. Se você definir isso como
false
,mongod
gravará documentos que excederem esse limite, mas não os indexará.Esta opção corresponde ao parâmetro
param.failIndexKeyTooLong
mongod
.
spec.processArgs.javascriptEnabled
Tipo: booleano
Opcional
Flag que indica se o cluster permite a execução de operações que realizam execuções em JavaScript no lado do servidor.
Esta opção corresponde à modificação da opção de arquivo de configuração do
security.javascriptEnabled
para cadamongod
emongos
no agrupamento.
spec.processArgs.minimumEnabledTlsProtocol
Tipo: inteiro
Opcional
String que indica a versão mínima de TLS que o cluster aceita para conexões de entrada. Os clusters que usam TLS 1.0 ou 1.1 devem considerar a configuração do TLS 1.2 como a versão mínima do protocolo TLS .
Para saber mais, consulte Quais versões do TLS o Atlas suporta?.
Esta opção corresponde à opção de arquivo de configuração do
net.ssl.disabledProtocols
mongod
.
spec.processArgs.noTableScan
Tipo: booleano
Opcional
Flag que indica se o cluster desativa a execução de qualquer query que exija uma varredura de coleção para retornar resultados.
Esta opção corresponde ao parâmetro
notablescan
mongod
.
spec.processArgs.oplogSizeMB
Tipo: inteiro
Opcional
Número que indica o limite de armazenamento do oplog de um cluster expresso em megabytes. Um valor de
null
indica que o agrupamento utiliza o tamanho de oplog padrão que o Atlas calcula.Esta opção corresponde à opção de arquivo de configuração do
replication.oplogSizeMB
mongod
.
spec.processArgs.sampleRefreshIntervalBIConnector
Tipo: inteiro
Opcional
Número que indica os documentos por banco de dados a serem amostrados ao coletar informações do esquema.
Este parâmetro corresponde à opção sampleSize mongosqld .
spec.processArgs.sampleSizeBIConnector
Tipo: inteiro
Opcional
Número que indica o intervalo, em segundos, no qual o processo mongosqld faz uma nova amostra dos dados para criar seu esquema relacional.
Este parâmetro corresponde à opção sampleRefreshIntervalSecs mongosqld .
spec.projectRef.name
Tipo: string
Obrigatório
Nome do projeto ao qual o cluster pertence. Você deve especificar um Recurso Personalizado
AtlasProject
existente.
spec.serverlessSpec
Tipo: array
Condicional
Lista que contém os parâmetros de instância sem servidor da API. Para obter uma lista completa dos parâmetros disponíveis, consulte a API Atlas Instâncias sem Servidor API.
Importante
Você deve especificar
spec.deploymentSpec
ouspec.serverlessSpec
em sua configuração.
spec.serverlessSpec.privateEndpoints
Tipo: array
Opcional
Lista que contém as configurações de endpoints privados para a instância sem servidor.
spec.serverlessSpec.providerSettings
Tipo: objeto
Condicional
Configuração que especifica as configurações para os hosts provisionados nos quais o MongoDB é executado. As opções disponíveis são específicas para o provedor de serviços de nuvem. Para saber mais, consulte as opções de configuração da Amazon Web Services, GCP e instância sem servidor Azure .
Se você deseja criar ou atualizar uma instância sem servidor, especifique esta configuração.
Importante
As seguintes configurações são preteridas e serão removidas em uma versão futura:
spec.serverlessSpec.providerSettings.DiskIOPS
spec.serverlessSpec.providerSettings.DiskTypeName
spec.serverlessSpec.providerSettings.EncryptEBSVolume
spec.serverlessSpec.providerSettings.InstanceSizeName
spec.serverlessSpec.providerSettings.VolumeType
spec.serverlessSpec.providerSettings.AutoScaling
Fornecer valores para qualquer uma dessas configurações não tem efeito.
spec.serverlessSpec.providerSettings.providerName
Tipo: string
Condicional
Fornecedor de serviços de nuvem no qual o Atlas provisiona o host para uma instância sem servidor.
O Atlas aceita os seguintes valores:
AWSAmazon AWSGCPGoogle Cloud PlatformAZUREMicrosoft Azure
spec.serverlessSpec.providerSettings.regionName
Tipo: string
Condicional
Localização física da sua instância sem servidor MongoDB. A região que você escolhe pode afetar a latência de rede para clientes que acessam os bancos de dados.
Para obter uma lista completa dos valores de nome de região, consulte as páginas de referência do fornecedor de serviços em nuvem:
spec.serverlessSpec.tags
Tipo: array
Opcional
Lista que contém tags (pares chave-valor) para entender, organizar e identificar melhor seus sistemas de banco de dados. Para saber mais, consulte Marcações em clusters.
status.connectionStrings
Tipo: array
Obrigatório
Lista que contém as URLs de conexão para acessar o cluster. Esse parâmetro aparece depois que você cria ou atualiza um cluster.
Observação
Você não pode usar um URL de conexão diretamente. Os Atlas clusters exigem autenticação. Você deve criar pelo menos um
AtlasDatabaseUser
Recurso Personalizado antes que o aplicativo no seu cluster do Kubernetes possa se conectar ao cluster do Atlas. O Atlas Kubernetes Operator cria um segredo especial para cada combinação de cluster e usuário de banco de dados no projeto. O aplicativo em seu cluster do Kubernetes pode usar esse segredo para se conectar ao Atlas cluster. O parâmetrospec.scopes
no recurso personalizadoAtlasDatabaseUser
restringe os clusters que criam o usuário do banco de dados.
Para obter os parâmetros de configuração disponíveis para um cluster a partir da API, consulte API do Atlas Clusters.
Observação
Os seguintes parâmetros são preteridos na API do Atlas e o Atlas Kubernetes Operator não suporta eles:
replicationSpec
replicationFactor