Después de asociar una instancia de VMware Cloud Director a un SDDC en VMware Cloud Director service, es posible que no pueda realizar varias tareas.

Problema

Después de asociar una instancia de VMware Cloud Director a un SDDC mediante VMware Proxy Service, es posible que vCenter Server se muestre como desconectado. Cuando intenta actualizar o volver a conectar, se produce un error con una excepción de red, como SocketTimeoutException.

No puede abrir una consola de máquina virtual ni cargar y descargar archivos OVF y OVA.

No se pueden agregar, editar ni eliminar recursos de red, como grupos de redes, redes externas o puertas de enlace Edge.

Cuando VMware Cloud Director realiza llamadas de API a NSX, en vcd-debug-container.log, se ven entradas similares a Received Response: 503.

Nota: En las versiones más recientes del dispositivo cliente de proxy de VMware Cloud Director service, puede usar el comando diagnose.sh para diagnosticar problemas con el dispositivo. Consulte Cómo solucionar problemas del dispositivo cliente de proxy de VMware Cloud Director service. Si intenta ejecutar el comando diagnose.sh y se genera un error, siga las instrucciones para solucionar problemas que se describen a continuación.

Causa

Esto sucede porque la instancia de VMware Cloud Director no puede comunicarse con vCenter Server, con los hosts ESXi ni con NSX a través de VMware Proxy Service.

Esto se debe a dos posibles motivos.

La comunicación entre VMware Cloud Director y VMware Proxy Service es errónea, o la comunicación entre VMware Cloud Director y la máquina virtual proxy que implementó durante la asociación de instancias con SDDC de VMware Cloud on AWS se lleva a cabo correctamente, pero se produce un error en la conexión entre el servicio de proxy y vCenter Server o NSX.

Requisitos previos

  1. Busque la máquina virtual cliente de VMware Reverse Proxy que implementó al realizar la asociación entre el SDDC y la instancia de VMware Cloud Director en el grupo de recursos de la interfaz de usuario de vCenter Server.
  2. Inicie sesión en el sistema operativo de la máquina virtual cliente de VMware Reverse Proxy como raíz.
    Sugerencia: Puede encontrar la contraseña del usuario raíz en las propiedades de vApp de la máquina virtual en root-password.

Solución

  • Para comprobar que la máquina virtual tenga conectividad de red, ejecute el comando transporter-status.sh.
    Si la máquina virtual está conectada, el comando devolverá el estado como UP y el estado de command_channel_1 y command_channel_2 como CONNECTED.
  • Compruebe que la máquina virtual cliente de VMware Reverse Proxy tenga una dirección IPv4 válida.
    1. Desplácese hasta la máquina virtual en el grupo de recursos de vCenter Server y compruebe si la máquina virtual tiene una dirección IPv4 válida.
    2. Si la máquina virtual no tiene una dirección IPv4 válida, elija una de las siguientes opciones.
      • Haga clic en la pestaña Redes y seleccione una red con un perfil de DHCP válido.
      • Inicie sesión en el sistema operativo de la máquina virtual y asígnele manualmente una dirección IPv4 mediante la ejecución de los siguientes comandos.
        sudo ifconfig ens160 IPv4-address netmask mask
        sudo route add default gw gateway-address ens160
  • Ejecute una solicitud cURL para la URL donde se almacenan las imágenes más recientes de la máquina virtual cliente de VMware Reverse Proxy.
  • Desde el sistema operativo de la máquina virtual cliente de VMware Reverse Proxy, ejecute una solicitud cURL a VMware Proxy Service.
    curl -v <VMware-Proxy-Service-IP-address>
    Puede encontrar la dirección IP de VMware Proxy Service en las propiedades de vApp de la máquina virtual cliente de VMware Reverse Proxy, en reverse-proxy-host.
    El comando devuelve un resultado similar al siguiente.
    Connected to <VMware-Proxy-Service-IP-address> port 80
  • Compruebe que no haya reglas de firewall ni ningún otro problema de red que impida que la máquina virtual cliente de VMware Reverse Proxy haga ping a vCenter Server, NSX y ESXi.
    Si la lista de destinos permitidos incluye una notación CIDR y no puede acceder a uno de los hosts que contiene, compruebe que puede hacer ping al host específico. Si lo consigue, agregue la dirección IP del host o el FQDN a la lista como una entrada independiente.
  • Compruebe que la máquina virtual cliente de VMware Reverse Proxy esté utilizando un token de API válido.
    Puede encontrar el token de API actual en las propiedades de vApp de la máquina virtual cliente de VMware Reverse Proxy en csp-token.
    1. Ejecute una solicitud POST en https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize con refresh_token={your-api-token-value} en el cuerpo de la solicitud.
      Por ejemplo:
      curl --location --request POST 'https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/x-www-form-urlencoded' \
      --header 'Cookie: incap_ses_8217_1285679=sJfafQlQfgUmPGK0X6YIckRAaWIAAAAAZ5DsTuKH0eALPsXXCrk1Lw==; nlbi_1285679=qGFfKYa/khghkd06+iiRRwAAAAA7h7npdR2O1o9/MIk2Plre' \
      --data-urlencode 'refresh_token=<your-csp-token>'

      Si el token de API ha caducado, la solicitud devolverá el error Invalid Token o 400 Bad Request. Consulte Cómo renovar el token de API para la máquina virtual cliente de VMware Reverse Proxy.

      Si el token de API es válido, la solicitud devuelve una respuesta que contiene un token de acceso, por ejemplo:
      {
        "id_token": "eyJhbGciOiJS.......srRmGX9eYKOKMA",
        "token_type": "bearer",
        "expires_in": 1799,
        "scope": "ALL_PERMISSIONS openid group_ids group_names",
        "access_token": "eyJhbGciOiJSU.........Q6Y9Yohgw",
        "refresh_token": "B4STbh2fYFmjI9ABCv..............XeRniDiO4cBJjF82sWWprZfm7OLHn"
      }

      La parte relevante es access_token, que siempre comienza con "ey", y es un token web JSON (JWT).

    2. Copie access_token y péguelo en la sección Codificado en https://jwt.io/.
    3. Compruebe que en la carga útil, context_name contenga el identificador de organización de VMware Cloud y que la sección Perms contenga la función provider:network.
      Si no se cumple alguna de estas condiciones, renueve el token de API. Consulte Cómo renovar el token de API para la máquina virtual cliente de VMware Reverse Proxy.