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.

Valide a prontidão para a migração com uma executar de teste

O plugin kubectl mongodb sempre adiciona a anotação mongodb.com/migration-dry-run: true ao recurso que ele gera para migrar uma implantação para o Kubernetes. Enquanto essa anotação estiver presente, o Kubernetes operador não fará 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 precisar antes que o Kubernetes operador assuma a propriedade da implantação.

  • O Operador Kubernetes cria uma tarefa por recurso MongoDB, chamada <resourceName>-connectivity-check. A tarefa disca para cada nó externo e autentica-se nele. Ele se excluir 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 usar o trigger manualmente.

  • A executar de teste verifica a acessibilidade de Kubernetes para máquina virtual (DNS, TLS, firewall e endereços de nós) e credenciais, incluindo a função __system no banco de dados local, e a CA quando o TLS está habilitado.

  • Executar a seco não verifica a conectividade de entrada da máquina virtual para o Kubernetes. Verifique essa direção você mesmo, seja por meio do status de monitoramento da IU do Ops Manager para a implantação ou executando rs.status() de um nó de máquina virtual e confirmando que ele pode acessar os Pods do Kubernetes.

  • A verificação de versão do plugin e do operador Kubernetes executa independentemente de a anotação dry-run estar presente.

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

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

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

1

Aplique o recurso personalizado MongoDB com a anotação dry-run ainda definida. O Kubernetes operador cria a tarefa <resourceName>-connectivity-check e relata o progresso por meio de status.phase e da condição NetworkConnectivityVerified.

Enquanto a tarefa executa, status.phase lê ConnectivityCheckRunning.

2

Leia status.conditions[type=NetworkConnectivityVerified]:

Código de saída da tarefa do validador
Status da Condição
Razão
Significado

Tarefa ainda em execução

Unknown

Running

O status.phase é ConnectivityCheckRunning.

0

True

NetworkValidationPassed

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

2

False

AuthenticationFailed

Credenciais, o mecanismo de autenticação ou uma função __system@local ausente.

3

False

NetworkFailed

DNS, TLS, timeouts ou nós inacessíveis. Verifique os log do Pod da tarefa.

1 ou outro

False

UnknownError

Falha não classificada. Verifique o log do Pod de tarefa.

Falhas que ocorrem antes do início da tarefa usam os motivos OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed e AgentCertSubject.

O Kubernetes operador remove a condição NetworkConnectivityVerified de status.conditions inteiramente assim que não restarem mais nós externos.

3

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

Se o executar de teste parecer travado, exclua a tarefa <resourceName>-connectivity-check. A próxima reconciliação o recria.

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

4

Quando a condição NetworkConnectivityVerified for True com o motivo NetworkValidationPassed, remover a anotação:

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

Importante

Remover a anotação dry-run é o ponto em que o operador do Kubernetes assume a propriedade do projeto Ops Manager ou Cloud Manager. Trate isso como o ponto sem retorno para a conectividade e o estado das credenciais que você acabou de validar.