Versión 1.0. Esta versión ya no se admite como se describe en la política de asistencia de la versión de Anthos. Actualiza a una versión compatible para obtener los parches y las actualizaciones más recientes sobre vulnerabilidades de seguridad, exposiciones y problemas que afectan a los clústeres de Anthos en VMware (GKE On-Prem). Puedes encontrar la versión más reciente aquí.

Habilita el modo de balanceo de cargas manual

Los clústeres de GKE On-Prem pueden ejecutarse con uno de dos modos de balanceo de cargas: “integrado” o “manual”. Con el modo integrado, los clústeres de GKE On-Prem se ejecutan con el balanceador de cargas BIG-IP de F5. Con el modo manual, debes configurar de forma manual un balanceador de cargas diferente. Por ejemplo, puedes configurar manualmente el balanceador de cargas de Citrix o el balanceador de cargas de Seesaw.

El modo de balanceo de cargas manual requiere más configuración que el modo integrado. En esta página, se describen los pasos que debes seguir para realizar el modo manual.

Limitaciones

El uso del balanceo de cargas manual tiene las siguientes limitaciones:

  • No puedes usar DHCP para asignar direcciones IP a los nodos del clúster. Debes asignar direcciones IP de nodo estáticas.

  • No puedes exponer servicios de tipo LoadBalancer a clientes fuera del clúster. Sin embargo, puedes crear servicios del tipo NodePort y configurar de forma manual tu balanceador de cargas para usarlos como backends. También puedes exponer tus servicios mediante el uso de objetos Ingress.

  • Si agregas o borras nodos del clúster, debes configurar manualmente el balanceador de cargas según corresponda.

Acerca de la 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.

Reserva tus direcciones IP

Cada clúster que creas tiene tres VM o más, que se denominan nodos. Reserva una dirección IP para cada nodo en los clústeres que deseas crear. Por ejemplo, si planeas crear un clúster de administrador con cuatro nodos y un clúster de usuario con tres nodos, reserva siete direcciones IP para los nodos. Configura tus routers para que todas las direcciones IP del nodo se puedan enrutar.

También debes reservar los siguientes VIP para el balanceo de cargas:

  • VIP para el plano de control del administrador (puerto expuesto: TCP 443)
  • VIP para el controlador de entrada del clúster del administrador (puertos expuestos: TCP 80, TCP 443)
  • VIP para el administrador de complementos (puerto expuesto: TCP 8443)
  • VIP para el plano de control del usuario (puerto expuesto: TCP 443)
  • VIP para el controlador de entrada del clúster del usuario (puertos expuestos: TCP 80, TCP 443)

Reserva puertos de nodo

GKE On-Prem usa objetos de servicio de Kubernetes de tipo NodePort para enrutar el tráfico a los pods.

Un Service tiene un campo ports, que es un arreglo de objetos ServicePort. En un Service de tipo NodePort, cada objeto ServicePort tiene un protocol, un port, un nodePort y un targetPort. Por ejemplo, a continuación, se muestra una parte de un manifiesto para un Service que tiene dos objetos ServicePort en su arreglo ports:

...
kind: Service
...
spec:
  ...
  type: NodePort
  ports:
  - protocol: TCP
    port: 80
    nodePort: 32676
    targetPort: 8080
  - protocol: TCP
    port: 443
    nodePort: 32677
    targetPort: 443
...

Supongamos que el Service anterior representa el controlador de entrada para tu clúster de usuario. También supongamos que tomaste las siguientes decisiones:

  • 203.0.113.5 es la VIP para tu controlador de entrada de clúster del usuario.
  • Las direcciones del nodo del clúster de usuario son 192.168.0.10, 192.168.0.11 y 192.168.0.12.

Después de configurar el balanceador de cargas, el tráfico se enruta de la siguiente manera:

  • Un cliente envía una solicitud a 203.0.113.5 en el puerto TCP 80. El balanceador de cargas elige un nodo del clúster de usuario. Para este ejemplo, supongamos que la dirección del nodo es 192.168.0.11. El balanceador de cargas reenvía la solicitud a 192.168.0.11 en el puerto TCP 32676. Las reglas de iptables del nodo reenvían la solicitud a un Pod adecuado en el puerto TCP 8080.

  • Un cliente envía una solicitud a 203.0.113.5 en el puerto TCP 443. El balanceador de cargas elige un nodo del clúster de usuario. Para este ejemplo, supongamos que la dirección del nodo es 192.168.0.10. El balanceador de cargas reenvía la solicitud a 192.168.0.10 en el puerto TCP 32677. Las reglas de iptables en el nodo reenvían la solicitud a un Pod adecuado en el puerto TCP 443.

No es necesario crear los objetos de servicio para tus VIP. GKE On-Prem lo hace por ti. Sin embargo, para cada par (VIP, puerto TCP), debes elegir y especificar lo siguiente:

  • Un conjunto de direcciones IP de nodo
  • Un valor nodePort

Debes reservar siete valores de nodePort:

  • nodePort para el plano de control del clúster de administrador, puerto TCP 443
  • nodePort para el controlador de entrada del clúster de administrador, puerto TCP 80
  • nodePort para el controlador de entrada del clúster de administrador, puerto TCP 443
  • nodePort para el administrador de complementos, el puerto TCP 8443
  • nodePort para el plano de control del usuario, puerto TCP 80
  • nodePort para el controlador de entrada del clúster del usuario, puerto TCP 80
  • nodePort para el controlador de entrada del clúster del usuario, puerto TCP 443

Modifica el archivo de configuración de GKE On-Prem.

Cuando instalas GKE On-Prem, generas un archivo de configuración. Debes modificar las siguientes secciones en tu archivo de configuración:

  • Establece lbmode en Manual.

  • Configura admincluster:ipblockfilepath en la ruta del archivo YAML de IP estática del clúster de administrador. Esto se documenta en Configura direcciones IP estáticas. DHCP no es una opción para el modo Manual.

  • Configura usercluster: ipblockfilepath en la ruta del archivo YAML de IP estática del clúster de usuario.

  • Actualiza el campo admincluster:manuallbspec con los valores de nodePort que elegiste para el clúster de administrador.

  • Actualiza la sección usercluster:manuallbspec con los valores de nodePort que elegiste para el clúster de usuario.

En el siguiente ejemplo, se muestra una parte de un archivo de configuración actualizado:

lbmode: Manual

admincluster:
  ipblockfilepath: "ipblock1.yaml"
  manuallbspec:
    ingresshttpnodeport: 32527
    ingresshttpsnodeport: 30139
    controlplanenodeport: 30968
    addonsnodeport: 31405

usercluster:
  ipblockfilepath: "env/default/ipblock2.yaml"
  manuallbspec:
    ingresshttpnodeport: 30243
    ingresshttpsnodeport: 30879
    controlplanenodeport: 30562

Configura el balanceador de cargas

Ahora que actualizaste el archivo de configuración, accede a la consola de administración del balanceador de cargas y configura las VIP.

Primero, asegúrate de que el clúster de administrador y el clúster de usuario tengan grupos de direcciones IP diferentes.

Como se mencionó antes, debes configurar cinco VIP y siete puertos. Por lo tanto, debes crear siete servicios virtuales en el balanceador de cargas:

  • Un plano de control del clúster de administrador, puerto TCP 443
  • Un controlador de entrada del clúster de administrador, puerto TCP 80
  • Un controlador de entrada del clúster de administrador, puerto TCP 443
  • Un administrador de complementos, puerto TCP 8443
  • Un plano de control del usuario, puerto TCP 80
  • Un controlador de entrada del clúster de usuario, puerto TCP 80
  • Un controlador de entrada del clúster de usuario, puerto TCP 443

¿Qué sigue?

Soluciona problemas

Para obtener más información, consulta Soluciona problemas.