Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Validar la preparación para la migración con una prueba piloto.

El complemento kubectl mongodb siempre agrega la anotación mongodb.com/migration-dry-run: true al recurso que genera para migrar un despliegue a Kubernetes. Mientras esta anotación esté presente, Kubernetes Operator no realiza cambios en la configuración de automatización. Solo valida la conectividad y las credenciales, por lo que puede solucionar problemas y volver a ejecutar el proceso tantas veces como sea necesario antes de que Kubernetes Operator tome el control del despliegue.

  • El operador de Kubernetes crea un trabajo por cada recurso MongoDB, denominado <resourceName>-connectivity-check. Este trabajo se conecta a cada miembro externo y se autentica. Se elimina mediante ttlSecondsAfterFinished, y la siguiente reconciliación lo vuelve a crear, por lo que la revalidación tras una corrección es automática. No es necesario activarla manualmente.

  • La prueba preliminar verifica la accesibilidad de Kubernetes a la máquina virtual (DNS, TLS, cortafuegos y direcciones de miembros) y las credenciales, incluido el rol __system en la base de datos local y la CA cuando TLS está habilitado.

  • La prueba en seco no comprueba la conectividad entrante entre la máquina virtual y Kubernetes. Verifique usted mismo esta dirección, ya sea a través de la interfaz de usuario de Ops Manager para supervisar el estado del despliegue o ejecutando rs.status() desde una máquina virtual miembro y confirmando que puede acceder a los pods de Kubernetes.

  • La comprobación de la versión del plugin y del operador de Kubernetes se ejecuta independientemente de si la anotación de prueba está presente.

  • Se generó un recurso personalizado MongoDB con la anotación mongodb.com/migration-dry-run: true aún presente. Para obtener información sobre cómo generar este recurso, consulte Migrar un conjunto de réplicas a Kubernetes.

  • Si el despliegue utiliza TLS, se deben usar los certificados de miembro y el material de CA descritos en Configurar TLS para una migración a Kubernetes.

  • El operador de Kubernetes ServiceAccount tiene permisos batch/jobs (create, get, list, watch y delete). Sin esta autorización, el operador de Kubernetes no puede crear el trabajo del validador de conectividad.

1

Aplique el recurso personalizado MongoDB con la anotación dry-run aún establecida. El operador de Kubernetes crea el trabajo <resourceName>-connectivity-check e informa del progreso a través de status.phase y la condición NetworkConnectivityVerified.

Mientras se ejecuta el trabajo, status.phase lee ConnectivityCheckRunning.

2

Leer status.conditions[type=NetworkConnectivityVerified]:

Código de salida del trabajo del validador
Estado de la condición
Razón
Significado

El trabajo sigue en marcha.

Unknown

Running

The status.phase is ConnectivityCheckRunning.

0

True

NetworkValidationPassed

Todos los miembros externos son accesibles y están autenticados.

2

False

AuthenticationFailed

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

3

False

NetworkFailed

Problemas con DNS, TLS, tiempos de espera o miembros inaccesibles. Consulte los registros del Job Pod.

1 u otro

False

UnknownError

Error no clasificado. Compruebe los registros del Job Pod.

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

Solucione los problemas de conectividad o credenciales en Kubernetes o en la interfaz de usuario de Ops Manager, según sea necesario. No es necesario eliminar ni volver a aplicar nada: la siguiente reconciliación recreará automáticamente el trabajo del validador.

Si la prueba en seco parece bloqueada, elimine el trabajo <resourceName>-connectivity-check. La siguiente conciliación lo recreará.

La falta de una concesión RBAC batch/jobs en el operador de Kubernetes ServiceAccount impide que se cree el trabajo, por lo que en ese caso no aparece ninguna condición ni trabajo. Los fallos que se producen antes de que comience el trabajo se muestran como motivos OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed o AgentCertSubject en lugar de los motivos de código de salida de la tabla anterior.

4

Cuando la condición NetworkConnectivityVerified es True con razón NetworkValidationPassed, elimine la anotación:

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

Importante

Al eliminar la anotación de prueba, Kubernetes Operator toma posesión del proyecto Ops Manager o Cloud Manager. Considere esto como el punto de no retorno para la conectividad y el estado de las credenciales que acaba de validar.