Personalización de la salida del clúster con una tabla de enrutamiento definida por el usuario en Azure Kubernetes Service (AKS)

Puede personalizar la salida de los clústeres de Azure Kubernetes Service (AKS) para adaptarse a escenarios específicos. AKS aprovisiona un equilibrador de carga de SKU Standard para la salida de manera predeterminada. Sin embargo, es posible que la configuración predeterminada no cumpla los requisitos de todos los escenarios si no se permiten direcciones IP públicas o se requieren saltos adicionales para la salida.

En este artículo se indica cómo personalizar la ruta de salida de un clúster para admitir escenarios de red personalizados. Estos escenarios incluyen aquellos que no permiten direcciones IP públicas y requieren que el clúster resida en una aplicación virtual de red (NVA).

Requisitos previos

  • CLI de Azure, versión 2.0.81 o posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
  • Versión 2020-01-01 o posterior de la API.

Limitaciones y requisitos

El uso del tipo de salida es un escenario de redes avanzado y requiere una configuración de red adecuada. Los siguientes requisitos y limitaciones se aplican al uso del tipo de salida:

  • La configuración de outboundType requiere clústeres de AKS con un valor de vm-set-type de VirtualMachineScaleSets, y un valor de load-balancer-sku de Standard.
  • Para configurar outboundType en un valor de UDR, se necesita una ruta definida por el usuario con conectividad de salida válida para el clúster.
  • Configurar outboundType en un valor de UDR implica que la IP de origen de la entrada enrutada al equilibrador de carga no puede coincidir con la dirección de destino de la salida del clúster.

Información general sobre cómo personalizar la salida con una tabla de enrutamiento definida por el usuario

AKS no configura automáticamente las rutas de salida si userDefinedRouting se establece, lo que significa que debe configurar la salida.

Cuando no se usa una arquitectura de Standard Load Balancer (SLB), debe establecer salidas explícitas. El clúster de AKS se debe implementar en una red virtual existente con una subred que se haya configurado previamente. Esta arquitectura requiere el envío explícito del tráfico de salida a un dispositivo, como un firewall, una puerta de enlace o un proxy, para permitir que la dirección IP pública asignada al equilibrador de carga estándar o dispositivo pueda controlar la traducción de direcciones de red (NAT).

Creación del equilibrador de carga con userDefinedRouting

Los clústeres de AKS con el tipo de salida UDR reciben un equilibrador de carga estándar solo cuando se implementa el primer servicio Kubernetes del tipo loadBalancer. El equilibrador de carga se configura con una dirección IP pública para las solicitudes entrantes y un grupo de back-end para las solicitudes salientes. El proveedor de nube de Azure configura reglas de entrada, pero no configura la dirección IP pública saliente ni las reglas de salida. El UDR es el único origen para el tráfico de salida.

Nota

Los equilibradores de carga de Azure no incurren en ningún cargo hasta que se coloca una regla.

Implementación de un clúster con el tipo de salida UDR y Azure Firewall

Para ver una aplicación de un clúster con tipo de salida mediante una ruta definida por el usuario, consulte este ejemplo de restricción del tráfico de salida con Azure Firewall.

Importante

El tipo de salida de UDR requiere que haya una ruta para 0.0.0.0/0 y un destino del próximo salto de NVA en la tabla de rutas. La tabla de rutas ya tiene un valor predeterminado de 0.0.0.0/0 para Internet. Sin una dirección IP pública que Azure use para la traducción de direcciones de red de origen (SNAT), simplemente agregar esta ruta no le proporcionará conectividad saliente a Internet. AKS valida que no cree una ruta 0.0.0.0/0 que apunte a Internet, sino a una puerta de enlace, NVA, etc. Cuando se utiliza un tipo de salida de UDR, no se crea una dirección IP pública del equilibrador de carga para las solicitudes entrantes a menos que se configure un servicio de tipo loadbalancer. AKS nunca crea una dirección IP pública para las solicitudes de salida si se establece un tipo de salida de UDR.

Pasos siguientes

Para más información sobre las rutas definidas por el usuario y las redes de Azure, consulte: