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).
- 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.
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 devm-set-type
deVirtualMachineScaleSets
, y un valor deload-balancer-sku
deStandard
. - Para configurar
outboundType
en un valor deUDR
, se necesita una ruta definida por el usuario con conectividad de salida válida para el clúster. - Configurar
outboundType
en un valor deUDR
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).
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.
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.
Para más información sobre las rutas definidas por el usuario y las redes de Azure, consulte:
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: