Descripción general del balanceo de carga en Google Distributed Cloud

En este documento se explican las opciones de balanceo de carga compatibles con Google Distributed Cloud para los clústeres nuevos.

Tienes dos opciones de balanceo de carga. Elige la opción que mejor se adapte a tu entorno y a 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 ajuste a los balanceadores de carga que ya tengas en tu red.

Estas son las opciones disponibles:

  • MetalLB incluido

  • Balanceo de carga manual para cualquier balanceador de carga de terceros, como F5 BIG-IP Citrix

Cuando creas clústeres de usuarios con la consola Google Cloud , la CLI de gcloud o Terraform, el tipo de balanceador de carga del clúster de administrador y sus clústeres de usuarios debe ser el mismo. La única excepción es si el clúster de administrador usa Seesaw, en cuyo caso los clústeres de usuario pueden usar MetalLB. Si quieres que tus clústeres de administrador y de usuario usen diferentes tipos de balanceadores de carga, debes crear clústeres de usuario con la herramienta de línea de comandos gkectl.

MetalLB

El balanceador de carga MetalLB se incluye en Google Distributed Cloud y es especialmente fácil de configurar. Los componentes de MetalLB se ejecutan en los nodos de tu clúster, por lo que no tienes que crear VMs independientes para tu balanceador de carga.

Puedes configurar MetalLB para que gestione las direcciones IP. Esto significa que, cuando un desarrollador crea un servicio de tipo LoadBalancer, no tiene que especificar una dirección IP virtual para el servicio. En su lugar, MetalLB elige automáticamente un VIP de un grupo de direcciones que proporciones con antelación.

Para obtener más información, consulta Balanceo de carga agrupado con MetalLB.

Citrix

Documentamos cómo configurar el balanceador de carga de Citrix como ejemplo de configuración manual de un balanceador de carga. En cualquier balanceador de carga que configures manualmente, debes configurar las asignaciones entre las IPs virtuales, las direcciones de los nodos y los valores de nodePort. Para obtener información sobre cómo hacerlo en el balanceador de carga de Citrix, consulta Balanceo de carga manual con Citrix.

Balanceo de carga manual en general

Puedes usar el balanceador de carga que quieras, siempre que lo configures manualmente. En cualquier balanceador de carga que configures manualmente, debes configurar las asignaciones entre las IPs virtuales, las direcciones de los nodos y los valores de nodePort. Para obtener información general sobre cómo hacerlo, consulta Balanceo de carga manual.

Reservar direcciones IP virtuales

Independientemente del balanceador de carga que utilices, debes reservar varias direcciones IP virtuales (VIPs) que quieras usar para el balanceo de carga.

En el clúster de administrador, debes reservar estos VIPs:

  • VIP del servidor de la API de Kubernetes
  • VIP para complementos

Por cada clúster de usuarios que quieras crear, debes reservar estas IPs virtuales:

  • VIP del servidor de la API de Kubernetes
  • IP virtual del servicio de entrada

Por ejemplo, supongamos que quieres tener dos clústeres de usuarios. En ese caso, necesitarías dos IPs virtuales para el clúster de administrador y dos IPs virtuales para cada uno de los clústeres de usuario. Por lo tanto, tendrás que reservar seis IPs virtuales.

Direcciones IP de los nodos

Si eliges MetalLB como balanceador de carga, puedes usar direcciones IP estáticas para los nodos del clúster o hacer que los nodos del clúster obtengan sus direcciones IP de un servidor DHCP.

Si eliges una opción de balanceo de carga manual, debes usar direcciones IP estáticas para los nodos del clúster.

Si decides 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 información sobre cuántas direcciones IP de nodo debes reservar, consulta el artículo Planificar las direcciones IP.

Crear servicios en un clúster

Una vez que el clúster de usuario esté en funcionamiento, es posible que los desarrolladores de aplicaciones quieran crear servicios de Kubernetes y exponerlos a clientes externos.

En el caso de los servicios de tipo LoadBalancer, las IPs virtuales deben configurarse en el balanceador de carga. La forma en que se configuren esas IPs virtuales depende del balanceador de carga que elijas.

MetalLB

En el archivo de configuración del clúster de usuarios, especifica los grupos de direcciones que utiliza el controlador de MetalLB para asignar IPs virtuales a los servicios. Cuando un desarrollador crea un servicio de tipo LoadBalancer, el controlador de MetalLB elige una dirección de un pool y la asigna al servicio. El desarrollador no tiene que especificar un valor para loadBalancerIP en el archivo de manifiesto del servicio.

Balanceador de carga configurado manualmente

Si has elegido una opción de balanceo de carga manual, los desarrolladores pueden seguir estos pasos para exponer un servicio a clientes externos:

  • Crea un servicio de tipo NodePort.

  • Elige un VIP para el servicio.

  • Configura manualmente el balanceador de carga para que el tráfico enviado a la dirección IP virtual se reenvíe al servicio.