Habilita el modo de balanceo de cargas manual

Los clústeres de Anthos alojados en VMware (GKE On-Prem) pueden ejecutarse con uno de los tres modos de balanceo de cargas: integrado, empaquetado o manual. Con el modo integrado, los clústeres de Anthos alojados en VMware usan el balanceador de cargas F5 BIG-IP. Con el modo empaquetado, clústeres de Anthos alojados en VMware proporciona y administra el balanceador de cargas. No es necesario que obtengas una licencia para un balanceador de cargas, y la configuración que debes realizar es mínima. Con el modo manual, clústeres de Anthos alojados en VMware usa un balanceador de cargas diferente. El modo de balanceo de cargas manual requiere que implementes más opciones de configuración que el modo integrado. En esta página, se describen los pasos que debes seguir si decides usar el modo de balanceo de cargas manual.

El balanceador de cargas de Citrix es un balanceador de cargas de ejemplo que puedes usar con el modo de balanceo de cargas manual.

En este artículo, se reservan las direcciones IP y los valores de nodePort para usarlos más adelante. La idea es que elijas las direcciones IP y los valores de nodePort que deseas usar para el balanceo de cargas y los nodos del clúster. Sin embargo, en este momento, no debes hacer nada con las direcciones y los valores de nodePort. Más adelante, cuando estés listo para crear los clústeres, necesitarás las direcciones y los valores de nodePort a fin de completar el archivo de configuración del clúster de administrador y el archivo de configuración del clúster de usuario. También necesitarás las direcciones y los valores de nodePort cuando configures el balanceador de cargas de forma manual.

Reserva las direcciones IP de los nodos

Con el modo de balanceo de cargas manual, no puedes usar DHCP. Debes especificar direcciones IP estáticas para los nodos del clúster. Debes reservar direcciones suficientes para los nodos del clúster de administrador y los nodos de todos los clústeres de usuario que deseas crear. Para obtener más información sobre la cantidad de direcciones IP de nodos que debes reservar, consulta Crea un clúster de administrador y Crea un clúster de usuario.

Reserva las direcciones IP virtuales

Ya sea que uses el modo de balanceo de cargas integrado, por paquetes o manual, debes reservar varias direcciones IP virtuales (VIP) que desees usar para el balanceo de cargas. Estas VIP permiten que los clientes externos accedan a los servidores de la API de Kubernetes, el servicio de entrada y el servicio de complementos para la integración de registros.

Reserva las siguientes VIP:

  • Es la VIP para el servidor de la API de Kubernetes del clúster de administrador. En el archivo de configuración del clúster de administrador, se llama controlPlaneVIP.

  • VIP para un servicio de complementos de la agregación de registros, que se ejecuta en el clúster de administrador. En el archivo de configuración del clúster de administrador, se llama addonsVIP.

  • Por cada clúster de usuario que desees crear, una VIP para el servidor de la API de Kubernetes del clúster de usuario. En el archivo de configuración del clúster de usuario, se llama controlPlaneVIP.

  • Por cada clúster de usuario que desees crear, una VIP para el servicio de entrada en el clúster de usuario. En el archivo de configuración del clúster de usuario, se llama ingressVIP.

Reserva los valores de nodePort

En los clústeres de Anthos alojados en VMware, los Services de Kubernetes exponen el servidor de la API de Kubernetes, el servicio de entrada y el servicio de complementos para la agregación de registros. Con el modo de balanceo de cargas manual, debes elegir tus propios valores de nodePort para estos Services. Elige valores en el rango de 30,000 a 32,767. Después de elegir los valores de nodePort, resérvalos para usarlos más adelante cuando completes los archivos de configuración del clúster.

Elige y reserva los siguientes valores de nodePort.

  • En la VIP que reservaste para el servidor de la API de Kubernetes del clúster de administrador, reserva un valor de nodePort.

  • En el caso de la VIP que reservaste para el servicio del complemento, reserva un valor de nodePort.

  • Por cada VIP que hayas reservado para los servidores de la API de Kubernetes de clústeres de usuarios, reserva un valor de nodePort.

  • Por cada VIP que hayas reservado para el servicio de entrada de un clúster de usuario, reserva dos valores de nodePort: uno para el tráfico de HTTP y otro para el tráfico de HTTPS.

Por ejemplo, supongamos que deseas tener un clúster de administrador y dos clústeres de usuario. Deberás elegir y reservar los siguientes valores de nodePort:

  • Un valor de nodePort para el servidor de la API de Kubernetes del clúster de administrador

  • Un valor de nodePort para el servicio de complementos en el clúster de administrador

  • En cada uno de los clústeres de usuario, un valor de nodePort para el servidor de la API de Kubernetes

  • En cada uno de los clústeres de usuario, un valor de nodePort para el tráfico de HTTP al servicio de entrada

  • En cada uno de los clústeres de usuario, un valor de nodePort para el tráfico de HTTPS al servicio de entrada

Por lo tanto, en el ejemplo anterior, tendrías que reservar ocho valores de nodePort.

Completa los archivos de configuración del clúster

Prepara un archivo de configuración para el clúster de administrador y uno para cada uno de los clústeres de usuario.

En cada archivo de configuración del clúster debes ingresar la siguiente información:

  • Establece loadBalancer.kind en ManualLB.

  • Establece network.ipMode en static.

  • Configura network.ipBlockFilePath en la ruta de acceso del archivo de bloques de IP del clúster.

  • Actualiza la sección loadBalancer.manualLB con los valores nodePort que elegiste para el clúster.

En el siguiente ejemplo, se muestra una parte de un archivo de configuración del clúster de usuario:

network:
  ipMode:
    type: static
    ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
  kind: ManualLB
  manualLB:
    ingressHTTPNodePort: 30243
    ingressHTTPSNodePort: 30879
    controlPlaneNodePort: 30562:

Configura el balanceador de cargas

Clúster de administrador

En el archivo de configuración de tu clúster de administrador, completaste lo siguiente:

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.addonsVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.addonsNodePort
  • network.ipMode.ipBlockFilePath

En el archivo de bloque de IP para el clúster de administrador, completaste una lista de direcciones IP estáticas a fin de usarlas en los nodos del clúster de administrador.

Usa la consola o las herramientas de administración de tu balanceador de cargas para configurar las siguientes asignaciones en tu balanceador de cargas. La forma de hacerlo depende del balanceador de cargas:

  • (controlPlaneVIP:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort)

  • (addonsVIP:8443) -> (NODE_IP_ADDRESSES:addonsNodewPort)

Clúster de usuario

En los archivos de configuración del clúster de usuario, completaste lo siguiente:

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.ingressVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.ingressHTTPNodePort
  • loadBalancer.manualLB.ingressHTTPSNodePort
  • network.ipMode.ipBlockFilePath

En el archivo de bloque de IP para tu clúster de usuario, completaste una lista de direcciones IP estáticas para usar con los nodos del clúster de usuario.

Usa la consola o las herramientas de administración de tu balanceador de cargas para configurar las siguientes asignaciones en tu balanceador de cargas. La forma de hacerlo depende del balanceador de cargas:

  • (controlPlaneVIP:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort)

  • (ingressVIP:80) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort)

  • (ingressVIP:443) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort)

Además de los requisitos anteriores, te recomendamos configurar el balanceador de cargas para restablecer las conexiones de los clientes cuando detecte una falla en el nodo de backend. Sin esta configuración, los clientes del servidor de la API de Kubernetes pueden dejar de responder durante varios minutos cuando una instancia de servidor falla, lo que puede causar inestabilidad en el plano de control de Kubernetes.

  • Con BIG-IP de F5, esta configuración se llama Action On Service Down en la página de configuración del grupo de backend.
  • Con HAProxy, esta configuración se llama on-marked-down shutdown-sessions en la configuración del servidor de backend.
  • Si usas un balanceador de cargas diferente, debes consultar la documentación para encontrar la configuración equivalente.

Obtén asistencia para el balanceo de cargas manual

Google no proporciona asistencia para los balanceadores de cargas configurados con el modo de balanceo de cargas manual. Si tienes problemas con el balanceador de cargas, comunícate con el proveedor.

¿Qué sigue?