Arquitetura, recursos e limitações
Nesta página
- Limitações
- Recursos de implantação de vários clusters
- Conecte-se com registros DNS SRV
- Gerenciar segurança para usuários do banco de dados
- Configurar queryable backups para recursos do MongoDB Ops Manager de cluster único
- Arquitetura e diagramas de implantação
- Diagrama: sistema de cluster multi-Kubernetes com uma malha de serviço
- Diagrama: sistema de cluster multi-Kubernetes sem uma malha de serviço
Limitações
As seguintes limitações existem para sistemas MongoDB de multikubernetes cluster:
Implemente somente conjuntos de réplicas de recursos do
MongoDBMultiCluster
. Sistemas de cluster fragmentado não são suportados.Use versões do Ops Manager posteriores a 5.0.7.
Use apenas Kubernetes segredos para sua ferramenta de armazenamento secreto. A ferramenta de armazenamento secreto HashiCorp Vault não é compatível.
Para sistemas em que a mesma instância do Kubernetes Operator não está gerenciando os recursos personalizados MongoDBOpsManager e MongoDB , você deve definir manualmente as configurações do cliente de criptografia de backup KMIP no MongoDB Ops Manager. Para saber mais, consulte Configurar manualmente o KMIP Backup Encryption.
Não adicione um ServiceMonitor aos seus
MongoDBMultiCluster
recursos do . O Operador Kubernetes não permite a integração com Prometeus.Você pode criar uma nova sistema MongoDB de cluster multi-Kubernetes e entrar em contato com o Suporte do MongoDB para ajudá-lo a migrar dados de seu sistema existente do Kubernetes para uma sistema do MongoDB de cluster multi-Kubernetes. Você não pode estender um sistema de cluster Kubernetes único existente para novos clusters Kubernetes.
Recursos de implantação de vários clusters
Esta seção descreve os recursos de implantação do MongoDB de clusters multikubernetes que você pode configurar usando os mesmos procedimentos que os procedimentos para clusters únicos de recursos do MongoDB implementados com o Kubernetes Operator. Outros recursos de implantação do MongoDB em clusters multi-Kubernetes têm sua própria documentação neste guia.
Conecte-se com registros DNS SRV
Para se conectar ao banco de dados de sistema MongoDB do cluster multi- banco de dados como usuário, você pode usar o connectionString.standardSrv
: string de conexão da lista de sementes de DNS. Essa string está incluída no segredo que o Operador Kubernetes cria para sua implantação do MongoDB de clusters Kubernetes múltiplos. Use o mesmo procedimento para conectar-se ao sistema do MongoDB de cluster multi-Kubernetes e para clusters únicos implementados com o Kubernetes Operator. Consulte Conectar-se a um recurso de banco de dados MongoDB de dentro do Kubernetes e selecione a aba Using the Kubernetes Secret.
Gerenciar segurança para usuários do banco de dados
Use estes métodos para managed a segurança dos trigger de banco de dados:
Esses procedimentos são os mesmos que os procedimentos para clusters únicos distribuídos com o Kubernetes Operator, com as seguintes exceções:
Os procedimentos se aplicam somente a conjuntos de réplicas. Os sistemas do MongoDB de cluster multi-Kubernetes não suportam a criação de clusters fragmentados.
No
mongodbResourceRef
, especifique o nome do conjunto de réplica de implantação do MongoDB do cluster multi-Kubernetes:name: "<my-multi-cluster-replica-set>"
.
Configurar queryable backups para recursos do MongoDB Ops Manager de cluster único
Se você implantar uma instância MongoDB Ops Manager em um único cluster Kubernetes com o Kubernetes Operator, o cluster de hospedagem do operador também poderá hospedar o MongoDB Ops Manager. Nesse caso, você pode configurar queryable backup para recursos MongoDB Ops Manager . Não há suporte para queryable backup em sistemas de recursos do MongoDB Ops Manager em vários clusters do Kubernetes .
Arquitetura e diagramas de implantação
Você pode criar deployments do MongoDB em clusters multi-Kubernetes com ou sem depender de uma service mesh. Para saber mais, consulte Planejar a conectividade externa: Você deve usar uma Service Mesh?
Em ambos os diagramas a seguir, o MongoDB Enterprise Kubernetes Operator executa estas ações:
Observa a criação da especificação de recursos
MongoDBMultiCluster
no cluster central.Utiliza o arquivo
kubeconfig
montado para se comunicar com clusters de membros.Cria os recursos necessários, como objetos ConfigMaps, Secrets, Services e StatefulSet Kubernetes em cada cluster de membros correspondente ao número de membros do conjunto de réplicas no cluster MongoDB.
Identifica o cluster para implantar cada conjunto de réplicas do MongoDB usando a especificação de recurso
MongoDBMultiCluster
correspondente e distribuir os conjuntos de réplicas do MongoDB.Observa os eventos
CentralCluster
eMemberCluster
.Reconcilia os recursos criados para confirmar se o sistema MongoDB de cluster multi-Kubernetes está no estado desejado.
Um sistema do MongoDB de vários clusters Kubernetes que usa o MongoDB Enterprise Kubernetes Operator consiste em um cluster central e um ou mais clusters de membros no Kubernetes:
O cluster central tem a seguinte função:
Hospeda o MongoDB Enterprise Kubernetes Operator
Atua como o plano de controle para o sistema MongoDB do cluster multi-Kubernetes
Hospeda a especificação de recurso
MongoDBMultiCluster
para o conjunto de réplicas do MongoDBHosts Ops Manager, se você implantar o Ops Manager com o Kubernetes Operator
Também pode hospedar membros do conjunto de réplicas MongoDB
Importante
O cluster central também é conhecido como cluster do operador. As referências ao cluster central podem ser renomeadas para se referir ao cluster do operador em versões futuras.
Os clusters de membros hospedam os conjuntos de réplicas do MongoDB.
Observe que, se o cluster central (também conhecido como cluster do operador) falhar, você não poderá usar o Kubernetes Operator para alterar seu sistema até restaurar o acesso a esse cluster ou até reimplantar o Kubernetes Operator em outro cluster Kubernetes disponível. Para saber mais, consulte Recuperação de desastres.
Diagrama: sistema de cluster multi-Kubernetes com uma malha de serviço
O diagrama a seguir mostra a arquitetura de alto nível de uma implantação do MongoDB de vários clusters Kubernetes em regiões e zonas de disponibilidade. Essa implantação usa uma interface de serviço, como Istipo. A tela de serviço:
Managed a descoberta de nós do MongoDB distribuídos em diferentes clusters de membros do Kubernetes.
Lida com a comunicação entre membros do conjunto de réplicas.
Você pode hospedar seu aplicativo em qualquer um dos clusters de membros dentro da tela de serviço, como:
Em clusters Kubernetes fora daqueles que você implementa com o Operador Kubernetes, ou
Nos clusters de membros em um sistema do MongoDB de cluster multi-Kubernetes.
Diagrama: sistema de cluster multi-Kubernetes sem uma malha de serviço
O diagrama a seguir mostra a arquitetura de alto nível de uma implantação do MongoDB de vários clusters Kubernetes em regiões e zonas de disponibilidade. Essa implantação não depende de uma malha de serviço para conectividade entre os clusters Kubernetes que hospedam Pods com instâncias MongoDB.
Para lidar com a comunicação externa entre os membros do conjunto de réplicas do MongoDB hospedados em Pods em clusters Kubernetes distintos, use domínios externos e zonas de DNS.
Você pode hospedar seu aplicativo em qualquer um dos clusters de membros.