En este documento, se explican las opciones de balanceo de cargas compatibles con Google Distributed Cloud.
Existen dos opciones de balanceo de cargas disponibles. 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
Balanceo de cargas manual para cualquier balanceador de cargas de terceros, como F5 BIG-IP Citrix
MetalLB
El balanceador de cargas de MetalLB se incluye en Google Distributed Cloud y es especialmente 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.
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 MetalLB como tu balanceador 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 desde un servidor DHCP.
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 se ejecuta el clúster de usuario, es posible que los desarrolladores de aplicaciones quieran crear servicios 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.
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.