11.2. Migración de una aplicación desde las instalaciones a un clúster basado en la nube


Puede migrar desde un clúster de origen que esté detrás de un cortafuegos a un clúster de destino basado en la nube estableciendo un túnel de red entre los dos clústeres. El comando crane tunnel-api establece un túnel de este tipo creando un túnel VPN en el clúster de origen y luego conectándose a un servidor VPN que se ejecuta en el clúster de destino. El servidor VPN se expone al cliente utilizando una dirección de balanceo de carga en el cluster de destino.

Un servicio creado en el clúster de destino expone la API del clúster de origen a MTC, que se ejecuta en el clúster de destino.

Requisitos previos

  • El sistema que crea el túnel VPN debe tener acceso y estar conectado a ambos clusters.
  • Debe ser posible crear un equilibrador de carga en el clúster de destino. Consulte a su proveedor de la nube para asegurarse de que esto es posible.
  • Tenga nombres preparados para asignar a los espacios de nombres, tanto en el clúster de origen como en el de destino, en los que ejecutar el túnel VPN. Estos espacios de nombres no deben ser creados de antemano. Para obtener información sobre las reglas del espacio de nombres, consulte https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names.
  • Cuando se conectan varios clústeres de origen protegidos por cortafuegos al clúster de la nube, cada clúster de origen requiere su propio espacio de nombres.
  • El servidor OpenVPN está instalado en el clúster de destino.
  • El cliente OpenVPN está instalado en el clúster de origen.
  • Al configurar el clúster de origen en MTC, la URL de la API toma la forma de https://proxied-cluster.<namespace>.svc.cluster.local:8443.

    • Si utiliza la API, consulte Crear un manifiesto MigCluster CR para cada clúster remoto.
    • Si utiliza la consola web MTC, consulte Migración de sus aplicaciones mediante la consola web MTC.
  • La consola web MTC y el controlador de migración deben estar instalados en el clúster de destino.

Procedimiento

  1. Instala la utilidad de la grúa:

    $ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-controller-rhel8:v1.7.0):/crane ./
  2. Inicie sesión de forma remota en un nodo del clúster de origen y en un nodo del clúster de destino.
  3. Obtenga el contexto del clúster para ambos clústeres después de iniciar la sesión:

    $ oc config view
  4. Establezca un túnel introduciendo el siguiente comando en el sistema de comandos:

    $ crane tunnel-api [--namespace <namespace>] \
          --destination-context <destination-cluster> \
          --source-context <source-cluster>

    Si no se especifica un espacio de nombres, el comando utiliza el valor por defecto openvpn.

    Por ejemplo:

    $ crane tunnel-api --namespace my_tunnel \
          --destination-context openshift-migration/c131-e-us-east-containers-cloud-ibm-com/admin \
          --source-context default/192-168-122-171-nip-io:8443/admin
    Sugerencia

    Consulte todos los parámetros disponibles para el comando crane tunnel-api introduciendo crane tunnel-api --help.

    El comando genera certificados TSL/SSL. Este proceso puede durar varios minutos. Cuando el proceso finaliza, aparece un mensaje.

    El servidor OpenVPN se inicia en el clúster de destino y el cliente OpenVPN se inicia en el clúster de origen.

    Después de unos minutos, el equilibrador de carga se resuelve en el nodo de origen.

    Sugerencia

    Puede ver el registro de los pods de OpenVPN para comprobar el estado de este proceso introduciendo los siguientes comandos con privilegios de root:

    # oc get po -n <namespace>

    Ejemplo de salida

    NAME            READY     STATUS      RESTARTS    AGE
    <pod_name>    2/2       Running     0           44s

    # oc logs -f -n <namespace> <pod_name> -c openvpn

    Cuando se resuelve la dirección del equilibrador de carga, aparece el mensaje Secuencia de inicialización completada al final del registro.

  5. En el servidor OpenVPN, que se encuentra en un nodo de control de destino, verifique que el servicio openvpn y el servicio proxied-cluster se están ejecutando:

    $ oc get service -n <namespace>
  6. En el nodo de origen, obtenga el token de la cuenta de servicio (SA) para el controlador de migración:

    # oc sa get-token -n openshift-migration migration-controller
  7. Abra la consola web de MTC y añada el clúster de origen, utilizando los siguientes valores:

    • Nombre del clúster: El nombre del clúster de origen.
    • URL: proxied-cluster.<namespace>.svc.cluster.local:8443. Si no ha definido un valor para <namespace>, utilice openvpn.
    • Token de lacuenta de servicio: El token de la cuenta de servicio del controlador de migración.
    • Host de ruta expuesto al registro de imágenes: proxied-cluster.<namespace>.svc.cluster.local:5000. Si no ha definido un valor para <namespace>, utilice openvpn.

Después de que MTC haya validado la conexión con éxito, puede proceder a crear y ejecutar un plan de migración. El espacio de nombres del clúster de origen debería aparecer en la lista de espacios de nombres.

Recursos adicionales

Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.