Descripción general del balanceo de cargas para GKE en VMware

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

  • Seesaw agrupado (no es compatible con los clústeres de usuario que usan Controlplane V2).

  • 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.

Seesaw

El balanceador de cargas de Seesaw está incluido en GKE en VMware y requiere una configuración manual un poco más alta que la que requiere MetalLB. El balanceador de cargas de Seesaw se ejecuta en VM independientes de los nodos del clúster. El balanceador de cargas de Seesaw no es compatible con los clústeres de usuario que usan Controlplane V2. Te recomendamos que uses MetalLB en su lugar.

Para obtener más información, consulta Balanceo de cargas en paquetes con Seesaw.

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
  • Seesaw
  • 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.

Seesaw

Cuando un desarrollador crea un servicio de tipo LoadBalancer, especifica una dirección IP externa. Por ejemplo:

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.1

GKE en VMware configura de forma automática la dirección especificada en una interfaz de red de una VM de Seesaw.

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.