Revise as limitações nesta página antes de planejar uma migração de uma implementação autogerenciada para o Kubernetes. Algumas limitações bloqueiam totalmente a migração e outras exigem que você planeje considerando os recursos ausentes.
Uma implantação por projeto
O projeto do Ops Manager ou do Cloud Manager deve conter exatamente um sistema. O plugin kubectl mongodb apresenta o erro se o projeto contiver mais de um sistema.
Se o seu projeto contiver várias implantações, divisão as em projetos separados antes de migrar. Para saber como, consulte Migrar uma implementação do MongoDB para um novo projeto na documentação do Ops Manager.
Servidores de configuração incorporados não são compatíveis
Um cluster fragmentado cujo servidor de configuração também é apoiado por um de seus fragmentos não pode ser migrado. O Kubernetes Operator detecta um servidor de configuração incorporado e rejeita a migração na importação.
A conectividade de entrada não é verificada automaticamente
A execução seca valida a conectividade do Kubernetes somente com as máquinas virtuais. Ele não verifica automaticamente a conectividade de entrada da máquina virtual com o Kubernetes. Verifique você mesmo essa direção de conectividade antes de confiar nela.
Sem reversão automática
Não existe nenhuma maneira automatizada para reverter uma migração após o início. Planeje sua migração e faça um backup antes de começar, porque você não pode reverter por meio do plugin-in ou do operador.
Para reverter manualmente uma migração em andamento:
Reconciliar a configuração de automação de volta ao seu estado antes da migração.
Edite a configuração de automação diretamente no Ops Manager ou no Cloud Manager.
Aviso
Se você excluir o recurso MongoDB enquanto o Kubernetes Operator ainda estiver em execução, o Kubernetes Operator não excluirá o projeto no Ops Manager ou no Cloud Manager para proteger os membros externos. No entanto, o Kubernetes Operator exclui automaticamente os StatefulSets e os Pods desse recurso. Dependendo do progresso da migração, a exclusão desses Pods pode fazer com que o conjunto de réplicas perdesse a maioria dos votos.
Sem sementes ou pré-código
A migração move dados somente por replicação do MongoDB . O Kubernetes Operator não semeia nem pré-copia dados para os novos membros do Kubernetes por meio de qualquer outro mecanismo.
Sem remoção automatizada
Remover membros externos é uma operação manual. Você remove entradas de spec.externalMembers uma de cada vez. O operador não automatiza esta etapa para você.
O próprio Ops Manager não é migrado
Esse fluxo de trabalho migra apenas a implantação do MongoDB que o Ops Manager ou o Cloud Manager gerencia. Ele não migra o Ops Manager ou o próprio Cloud Manager .
Congelamento de configuração durante a migração
Enquanto uma migração estiver em andamento, não faça alterações de versão ou configuração no sistema fora das etapas de migração. As edições simultâneas por meio da interface do usuário do Ops Manager também não são suportadas durante a migração.
Espera-se que alguns campos sejam alterados como parte da migração em si:
- As contagens de membros e os campos
votesepriorityemmemberConfigmudam à medida que você estende, promove e poda membros.
As outras configurações devem corresponder à implantação de origem durante a migração e não devem ser alteradas:
Versão do MongoDB
Versão de compatibilidade de recursos
Porta
Modos de autenticação
Autenticação interna do cluster
Configurações que não são transportadas para novos membros
Planeje essas configurações antes de migrar, pois o Kubernetes Operator não as reproduz nos novos membros do Kubernetes:
secondaryDelaySecsem um membro atrasado.A configuração oculta em um membro oculto.
buildIndexesdefinido comofalseem um membro.
Se você executar nós de analítica ou nós atrasados em máquinas virtuais, reconfigure você mesmo as configurações equivalentes nos nós do Kubernetes, depois que eles entrarem no conjunto de réplicas.
Não suportado no MongoDBMultiCluster
O Kubernetes Operator não suporta migração no recurso MongoDBMultiCluster. O campo spec.externalMembers não foi adicionado deliberadamente a esse CRD.Não existe nenhum CRD MongoDBProject.