Share via


Solución de problemas de conexiones a puntos de conexión fuera de la red virtual

En este artículo se describe cómo solucionar problemas de conexiones a puntos de conexión fuera de la red virtual (es decir, a través de internet público) desde un clúster de Microsoft Azure Kubernetes Service (AKS).

Requisitos previos

  • CLI de Azure.

  • La herramienta kubectl de Kubernetes o una herramienta similar para conectarse al clúster. Para instalar kubectl mediante la CLI de Azure, ejecute el comando az aks install-cli .

Lista de comprobación para la solución de problemas

Paso 1: Solucionar problemas básicos

Asegúrese de que puede conectarse a puntos de conexión públicos en Internet. Para obtener instrucciones, consulte Solución básica de problemas de conexiones de clúster de AKS salientes.

Paso 2: Determinar el tipo de salida para el clúster de AKS

Para identificar el tipo de salida del clúster de AKS, ejecute el comando az aks show :

az aks show --resource-group <resource_group> --name <cluster_name> --query "networkProfile.outboundType"

Si el tipo de salida es loadBalancer, asegúrese de que la tabla de rutas asociada a los nodos de AKS tiene la ruta predeterminada a Internet. Los detalles se muestran en la tabla siguiente.

Origen Prefijos de dirección Tipo de próximo salto
Predeterminada 0.0.0.0/0 Internet

Si el tipo de salida es userDefinedRouting, asegúrese de que se cumplen las condiciones siguientes:

  • Se puede acceder al dispositivo de salida (firewall o proxy).

  • El dispositivo de salida permite el tráfico saliente necesario desde el clúster.

    Para obtener la lista de FQDN permitidos para el clúster de AKS, ejecute el comando az aks egress-endpoints list :

    az aks egress-endpoints list --resource-group <resource_group> --name <cluster_name>
    

Si el tipo de salida es managedNATGateway, compruebe si la subred de AKS está asociada a la puerta de enlace NAT ejecutando el comando az network nat gateway show :

az network nat gateway show --resource-group <resource_group> --name <nat_gateway_name> --query "subnets[].id"

Para obtener más información sobre cómo usar una puerta de enlace NAT junto con AKS, consulte Puerta de enlace NAT administrada.

Paso 3: Examinar la salida cURL al conectarse al clúster

Los códigos de respuesta cURL pueden ayudarle a identificar el tipo de problema. Una vez que el código de respuesta esté disponible, intente comprender mejor cómo se comporta el problema. Para obtener más información sobre los códigos de estado HTTP y el comportamiento subyacente del problema, consulte la tabla siguiente.

Origen de información Vínculo
Autoridad de números asignados por Internet (IANA) Registro de código de estado del Protocolo de transferencia de hipertexto (HTTP)
Mozilla Códigos de estado de respuesta HTTP
Wikipedia Lista de códigos de estado HTTP

Los siguientes códigos de estado HTTP pueden indicar los problemas enumerados.

Código de estado HTTP Incidencia Ejemplo
4xx
  1. Un problema afecta a la solicitud de cliente.
  2. Existe un bloqueador de red entre el cliente y el servidor.
  1. La página solicitada no existe o el cliente no tiene permiso para acceder a la página.
  2. Un grupo de seguridad de red o un firewall bloquean el tráfico.
5xx Un problema afecta al servidor. La aplicación está inactiva o una puerta de enlace no funciona.

Paso 4: Determinar qué ocurre si el tráfico saliente normalmente viaja a través de una aplicación virtual, pero se omite en su lugar

Para realizar pruebas rápidas para determinar si el dispositivo de salida (dispositivo virtual) provoca el problema, puede permitir temporalmente que todo el tráfico pase por Internet. Para configurar esta configuración, puede cambiar la dirección IP predeterminada y la ruta de puerto de a través de 0.0.0.0/0 la aplicación virtual para pasar por Internet en su lugar.

¿El problema es intermitente?

Puede experimentar problemas de salida intermitentes por muchas razones. Para solucionar problemas intermitentes de conexión saliente, pruebe las siguientes comprobaciones:

¿Está agotado el pod o el nodo en los recursos?

Ejecute el código siguiente para comprobar cómo se usan los recursos:

kubectl top pods
kubectl top nodes

¿Se usa mucho el disco del sistema operativo?

Para comprobar si el disco del sistema operativo se usa en gran medida, siga estos pasos:

  1. En el Azure Portal, busque y seleccione Conjuntos de escalado de máquinas virtuales.

  2. En la lista de conjuntos de escalado, seleccione el conjunto de escalado que se usa para el clúster de AKS.

  3. En el panel de navegación del conjunto de escalado, vaya a la sección Supervisión y, a continuación, seleccione Métricas.

  4. Vea las métricas de disco del conjunto de escalado desde la sección Métricas ; para ello, busque los campos siguientes.

    Campo Valor
    Ámbito Nombre de VMSS
    Espacio de nombres Metrics Host de máquina virtual
    Métricas Métrica del sistema operativo y del disco de datos

Para obtener más información sobre las métricas, consulte Métricas de disco y disco de datos del sistema operativo.

Para ver las recomendaciones de AKS sobre el uso del disco, siga estos pasos:

  1. En el Azure Portal, busque y seleccione Servicios de Kubernetes.

  2. En la lista de servicios de Kubernetes, seleccione el nombre del clúster de AKS.

  3. En el panel de navegación del clúster de AKS, vaya a la sección Supervisión y, a continuación, seleccione Recomendaciones de Advisor.

  4. Revise las recomendaciones enumeradas sobre el uso del disco.

Si el disco del sistema operativo se usa en gran medida, considere la posibilidad de usar los siguientes recursos:

Si estas soluciones no resuelven el problema, analice el proceso que realiza grandes operaciones de lectura y escritura en el disco. A continuación, compruebe si puede mover las acciones a un disco de datos en lugar del disco del sistema operativo.

¿Está agotado el puerto de traducción de direcciones de red de origen?

Si las aplicaciones realizan muchas conexiones salientes, pueden agotar el número de puertos disponibles en la dirección IP del dispositivo de salida. Siga los diagnósticos del equilibrador de carga estándar con métricas, alertas y estado de los recursos para supervisar el uso y la asignación del puerto de traducción de direcciones de red (SNAT) del equilibrador de carga existente. Supervise para comprobar o determinar el riesgo de agotamiento del puerto SNAT.

¿Alcanza o supera el número máximo de puertos SNAT asignados? En ese caso, puede comprobar la aplicación para determinar si está reutilizando las conexiones existentes. Para obtener más información, consulte Diseño de aplicaciones para usar las conexiones de forma eficaz.

Si cree que la aplicación está configurada correctamente y necesita más puertos SNAT que el número predeterminado de puertos asignados, siga estos pasos:

  1. Aumente el número de direcciones IP públicas en el dispositivo de salida. Si el dispositivo de salida es el equilibrador de carga, puede aumentar el número de direcciones IP públicas en el equilibrador de carga.

  2. Aumente los puertos por nodo para los nodos de trabajo de AKS.

Aviso de declinación de responsabilidades sobre la información de contacto de terceros

Microsoft proporciona información de contacto de otros proveedores para ayudarle a encontrar información adicional sobre este tema. Dicha información de contacto puede cambiar sin notificación previa. Microsoft no garantiza la precisión de esta información de contacto de terceros.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.