Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Valide a preparação para a migração com uma execução seca

O plugin-in kubectl mongodb sempre adiciona a anotação mongodb.com/migration-dry-run: true ao recurso que ele gera para migrar um sistema para o Kubernetes. Enquanto essa anotação estiver presente, o Kubernetes Operator não faz alterações na configuração de automação. Ele apenas valida a conectividade e as credenciais, para que você possa corrigir problemas e executar novamente quantas vezes for necessário antes que o Kubernetes Operator se aproprie da implantação.

  • O Kubernetes Operator cria um trabalho por recurso MongoDB, chamado <resourceName>-connectivity-check. O trabalho disca para cada membro externo e autentica em relação a ele. Ele se exclui usando ttlSecondsAfterFinished e a próxima reconciliação o recria, portanto, a revalidação após uma correção é automática. Você não precisa ativá-lo manualmente.

  • A execução seca verifica a acessabilidade do Kubernetes-to-virtual-machine (DNS, TLS, firewalls e endereços de membros) e as credenciais, incluindo a função __system no banco de dadoslocal, e a CA quando o TLS está habilitado.

  • A execução seca não verifica a conectividade de entrada da máquina virtual para o Kubernetes. Verifique você mesmo essa direção, por meio do status de monitoramento da interface do usuário do Ops Manager para a implantação ou executando rs.status() de um membro da máquina virtual e confirmando que ele pode alcançar os Pods do Kubernetes.

  • A verificação de versão do plugin e do Kubernetes Operator é executada independentemente da presença da anotação de execução seca.

  • Um recurso personalizado MongoDB gerado com a anotação mongodb.com/migration-dry-run: true ainda presente. Para saber como gerar esse recurso, consulte Migrar um conjunto de réplicas para Kubernetes.

  • Se a implementação usar TLS, os certificados de membro e o material da CA descritos em Configurar TLS para uma migração para o Kubernetes.

  • O Operador Kubernetes ServiceAccount tem permissões do batch/jobs (create, get, list, watch e delete). Sem essa concessão, o Operador do Kubernetes não pode criar o Trabalho de validador de conectividade de forma alguma.

1

Aplique o recurso personalizado MongoDB com a anotação de execução seca ainda definida. O Kubernetes Operator cria o trabalho <resourceName>-connectivity-check e relata o progresso até o status.phase e a condição NetworkConnectivityVerified.

Enquanto o trabalho é executado, status.phaseConnectivityCheckRunning.

2

Ler status.conditions[type=NetworkConnectivityVerified]:

Código de saída do trabalho do validador
Status da condição
Razão
Significado

A tarefa ainda está em execução

Unknown

Running

The status.phase is ConnectivityCheckRunning.

0

True

NetworkValidationPassed

Todos os membros externos são acessíveis e autenticados.

2

False

AuthenticationFailed

Credentials, the authentication mechanism, or a missing __system@local role.

3

False

NetworkFailed

DNS, TLS, tempos limite ou membros inacessíveis. Verifique os registros do pod de trabalho.

1 ou outro

False

UnknownError

Falha não classificada. Verifique os registros do pod de trabalho.

Failures that occur before the Job starts use the reasons OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed, and AgentCertSubject.

Kubernetes Operator removes the NetworkConnectivityVerified condition from status.conditions entirely once no external members remain.

3

Corrija problemas de conectividade ou credenciais no Kubernetes ou na interface do usuário do Ops Manager, conforme necessário. Você não precisa excluir ou reaplicar nada: a próxima reconciliação recria o trabalho do validador automaticamente.

Se a execução seca parecer travada, exclua o trabalho <resourceName>-connectivity-check. A próxima reconciliação a recria.

Uma concessão de RBAC batch/jobs ausente no operador Kubernetes ServiceAccount impede que o trabalho seja criado em primeiro lugar, portanto, nenhuma condição ou trabalho aparece nesse caso. As falhas que ocorrem antes do início do trabalho aparecem como motivos OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed ou AgentCertSubject em vez dos motivos do código de saída na tabela acima.

4

Quando a condição NetworkConnectivityVerified for True com a razão NetworkValidationPassed, remova a anotação:

kubectl annotate mdb <resourceName> \
mongodb.com/migration-dry-run-

Importante

A remoção da anotação de execução seca é o ponto em que o Kubernetes Operator assume a propriedade do projeto Ops Manager ou Cloud Manager . Trate isso como o ponto sem retorno para a conectividade e o estado de credencial que você acabou de validar.