En este documento, se explican las opciones de balanceo de cargas compatibles con GKE en VMware.
Hay varias opciones disponibles para el balanceo de cargas. Elige la opción que parezca más adecuada para tu entorno y tus necesidades. Por ejemplo, puedes elegir una opción que requiera una configuración mínima. También puedes elegir una opción que se alinee con los balanceadores de cargas que ya tienes en tu red.
Estas son las opciones disponibles:
Paquete de MetalLB
BIG-IP de F5 integrada (no es compatible con los clústeres de usuario que usan el plano de control V2)
Configuración de BIG-IP de F5 de forma manual
Configuración de Citrix de forma manual
Cualquier balanceador de cargas que configures de forma manual
MetalLB
El balanceador de cargas de MetalLB está incluido en GKE en VMware y es muy fácil de configurar. Los componentes de MetalLB se ejecutan en los nodos del clúster, por lo que no tienes que crear VM diferentes para tu balanceador de cargas.
Puedes configurar MetalLB para administrar la dirección IP. Esto significa que cuando un desarrollador crea un Service de tipo LoadBalancer
, no tiene que especificar una VIP para este. En su lugar, MetalLB elige de forma automática una VIP de un grupo de direcciones que proporcionas con anticipación.
Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.
BIG-IP de F5
El balanceador de cargas de BIG-IP de F5 no está incluido en GKE en VMware, por lo que debes obtener una licencia y configurar el balanceador de cargas por separado de la instalación de GKE en VMware.
Puedes configurar GKE en VMware para que se integre a BIG-IP de F5 en el siguiente sentido: cuando un desarrollador crea un Service de tipo LoadBalancer
y especifica una VIP para el servicio, GKE en VMware configurará la VIP de forma automática en el balanceador de cargas.
La integración de BIG-IP de F5 no es compatible con los clústeres de usuario que usan el plano de control V2. En su lugar, puedes usar BIG-IP de F5 como un balanceador de cargas configurado de forma manual. En este caso, GKE en VMware no configura las VIP del servicio de forma automática.
Citrix
Documentamos cómo configurar el balanceador de cargas de Citrix como ejemplo de configuración de un balanceador de cargas de forma manual. Con cualquier balanceador de cargas que configures de forma manual, debes configurar las asignaciones entre las VIP, las direcciones de nodos y los valores de nodePort
.
Si deseas obtener información sobre cómo hacer esto para el balanceador de cargas de Citrix, consulta Balanceo de cargas manual con Citrix.
Balanceo manual de cargas en general
Puedes usar cualquier balanceador de cargas que elijas, siempre y cuando lo configures de forma manual.
Con cualquier balanceador de cargas que configures de forma manual, debes configurar las asignaciones entre las VIP, las direcciones de nodos y los valores de nodePort
. Para obtener información general sobre cómo hacer esto, consulta Balanceo de cargas manual.
Reserva las direcciones IP virtuales
Sin importar el modo del balanceador de cargas que uses, debes reservar varias direcciones IP virtuales (VIP) que quieras usar para el balanceo de cargas.
Para tu clúster de administrador, debes reservar estas VIP:
- VIP para el servidor de la API de Kubernetes
- VIP para complementos
Para cada clúster de usuario que desees crear, debes reservar estas VIP:
- VIP para el servidor de la API de Kubernetes
- VIP para el servicio de entrada
Por ejemplo, imagina que deseas tener dos clústeres de usuario. Luego, necesitarías dos VIP para el clúster de administrador y dos VIP para cada uno de los clústeres de usuarios. Por lo tanto, necesitarías reservar seis VIP.
Direcciones IP de nodos
Si eliges una de las siguientes opciones de balanceo de cargas, puedes usar direcciones IP estáticas para los nodos del clúster o puedes hacer que los nodos del clúster obtengan sus direcciones IP de un servidor de DHCP:
- MetalLB
- Integración de BIG-IP de F5
Si eliges una opción de balanceo de cargas manual, debes usar direcciones IP estáticas para los nodos del clúster.
Si eliges usar direcciones IP estáticas, debes reservar suficientes direcciones para los nodos del clúster de administrador y los nodos de todos los clústeres de usuario que quieras crear. Para obtener más detalles sobre cuántas direcciones IP de nodos debes reservar, consulta Planifica tus direcciones IP.
Crea objetos Service en tu clúster
Una vez que el clúster de usuario se encuentre en ejecución, es posible que los desarrolladores de aplicaciones quieran crear objetos Service de Kubernetes y exponerlos a clientes externos.
En el caso de los Service de tipo LoadBalancer
, las VIP se deben configurar en el balanceador de cargas. La forma en que se configuran esas VIP depende del balanceador de cargas que elijas.
MetalLB
En el archivo de configuración del clúster de usuario, debes especificar los grupos de direcciones que el controlador de MeltLB usa para asignar VIP a los servicios. Cuando un desarrollador crea un servicio de tipo LoadBalancer
, el controlador de MetalLB elige una dirección de un grupo y la asigna al Service. El desarrollador no tiene que especificar un valor para loadBalancerIP
en el manifiesto de servicio.
Integración de BIG-IP de F5
Cuando un desarrollador crea un servicio de tipo LoadBalancer
, especifica una dirección IP externa. Por ejemplo:
spec: type: LoadBalancer loadBalancerIP: 192.168.100.2
GKE en VMware configura de forma automática la dirección especificada en una interfaz de red del balanceador de cargas BIG-IP de F5.
Balanceador de cargas configurado de forma manual
Si eliges una opción de balanceo de cargas manual, los desarrolladores pueden seguir estos pasos para exponer un Service a clientes externos:
Crea un Service de tipo NodePort.
Elige una VIP para el Service.
Configura el balanceador de cargas de forma manual para que el tráfico que se envía al VIP se reenvíe al Service.