Al usar vSphere with Tanzu con redes de vDS, HAProxy brinda equilibrio de carga para desarrolladores que acceden al plano de control de Tanzu Kubernetes y para los servicios de Kubernetes del tipo equilibrador de carga. Revise las topologías posibles que puede implementar para el equilibrador de carga de HAProxy.
Redes de carga de trabajo en el clúster supervisor
Para configurar una instancia de clúster supervisor con la pila de redes de vSphere, debe conectar todos los hosts del clúster a una instancia de vSphere Distributed Switch. En función de la topología que implemente para las redes de carga de trabajo de clúster supervisor, cree uno o varios grupos de puertos distribuidos. Los grupos de puertos se designan como redes de cargas de trabajo para los espacios de nombres de vSphere.
Antes de agregar un host a un clúster supervisor, debe agregarlo a todas las instancias de vSphere Distributed Switch que formen parte del clúster.
Las máquinas virtuales del plano de control de Kubernetes en clúster supervisor usan tres direcciones IP del rango de direcciones IP que se asigna a la red de cargas de trabajo principal. Cada nodo de un clúster de Tanzu Kubernetes tiene una dirección IP independiente asignada desde el rango de direcciones de la red de cargas de trabajo que está configurada con el espacio de nombres en el que se ejecuta el clúster de Tanzu Kubernetes.
Asignación de rangos de direcciones IP
- Un rango para asignar direcciones IP virtuales para HAProxy. El rango de IP que se configura para los servidores virtuales de HAProxy está reservado por el dispositivo del equilibrador de carga. Por ejemplo, si el rango de direcciones IP virtuales es
192.168.1.0/24
, no se podría acceder a todos los hosts de ese rango para otro tráfico que no sea el tráfico de IP virtual.Nota: No debe configurar una puerta de enlace dentro del rango de direcciones IP virtuales de HAProxy, ya que se podrían generar errores en todas las rutas a esa puerta de enlace. - Un rango de direcciones IP para los nodos de clúster supervisor y los clústeres de Tanzu Kubernetes. Cada máquina virtual del plano de control de Kubernetes en clúster supervisor tiene asignada una dirección IP, lo que supone un total de tres direcciones IP. Cada nodo de un clúster de Tanzu Kubernetes también tiene asignada una dirección IP independiente. Debe asignar un rango de direcciones IP único a cada red de cargas de trabajo en el clúster supervisor que configure en un espacio de nombres.
Ejemplo de una configuración con una red de /24:
- Red: 192.168.120.0/24
- VIP de HAProxy: 192.168.120.128/25
- 1 dirección IP para la interfaz de carga de trabajo de HAProxy: 192.168.120.5
En función de las direcciones IP que estén libres en las primeras 128 direcciones, puede definir rangos de IP para las redes de cargas de trabajo en clúster supervisor, por ejemplo:
- 192.168.120.31-192.168.120.40 para la red de cargas de trabajo principal
- 192.168.120.51-192.168.120.60 para otra red de cargas de trabajo
Topología de red de HAProxy
Existen dos opciones de configuración de red para implementar HAProxy: Predeterminada y Front-end. La red predeterminada tiene 2 NIC: una para la red de administración y otra para la red de cargas de trabajo. La red de front-end tiene 3 NIC: red de administración, red de cargas de trabajo y red de front-end para los clientes. En la tabla se enumeran y describen las características de cada red.
Red | Características |
---|---|
Administración |
El clúster supervisor utiliza la red de administración para conectarse al equilibrador de carga de HAProxy y programarlo.
|
Carga de trabajo |
La máquina virtual del plano de control de HAProxy utiliza la red de cargas de trabajo para acceder a los servicios de los nodos del clúster supervisor y del clúster de Tanzu Kubernetes.
Nota: La red de carga de trabajo debe estar en una subred diferente a la red de administración. Consulte los
requisitos del sistema.
|
Front-end (opcional) | Los clientes externos (como usuarios o aplicaciones) que acceden a las cargas de trabajo del clúster usan la red de front-end para acceder a los servicios con carga equilibrada del back-end mediante direcciones IP virtuales.
|
En el siguiente diagrama se muestra una implementación de HAProxy con una topología de red de front-end. El diagrama indica dónde se espera que estén los campos de configuración durante el proceso de instalación y configuración.
Topología de clúster supervisor con una red de carga de trabajo y HA Proxy con dos NIC virtuales
En esta topología, se configura un clúster supervisor con una red de carga de trabajo para los siguientes componentes:
- Máquinas virtuales de plano de control de Kubernetes
- Los nodos de los clústeres de Tanzu Kubernetes.
- El rango de IP virtuales de HAProxy donde se conectan los servicios externos y los usuarios de desarrollo y operaciones. En esta configuración, HAProxy se implementa con dos NIC virtuales (configuración Predeterminada), una conectada a la red de administración y otra conectada a la red de cargas de trabajo principal. Debe planificar la asignación de direcciones IP virtuales en una subred independiente de la red de cargas de trabajo principal.
- El usuario de desarrollo y operaciones o el servicio externo envían tráfico a una dirección IP virtual en la subred de red de cargas de trabajo del grupo de puertos distribuidos.
- HAProxy equilibra la carga del tráfico de IP virtual con la dirección IP del nodo de Tanzu Kubernetes o la dirección IP de la máquina virtual del plano de control. HAProxy reclama la dirección IP virtual para que pueda equilibrar la carga del tráfico que entra en esa IP.
- La máquina virtual del plano de control o el nodo del clúster de Tanzu Kubernetes entrega el tráfico a los pods de destino que se ejecutan dentro del clúster supervisor o el clúster de Tanzu Kubernetes, respectivamente.
Topología de clúster supervisor con una red de carga de trabajo aislada y HA Proxy con dos NIC virtuales
- Máquinas virtuales del plano de control de Kubernetes. Una red de cargas de trabajo principal para controlar el tráfico de las máquinas virtuales del plano de control de Kubernetes.
- Nodos del clúster de Tanzu Kubernetes. Una red de cargas de trabajo. que asigna a todos los espacios de nombres del clúster supervisor. Esta red conecta los nodos del clúster de Tanzu Kubernetes.
- IP virtuales de HAProxy. En esta configuración, la máquina virtual de HAProxy se implementa con dos NIC virtuales (configuración Predeterminada). Puede conectar la máquina virtual de HAProxy a la red de cargas de trabajo principal o a la red de cargas de trabajo que utiliza para los espacios de nombres. También puede conectar HAProxy a una red de máquinas virtuales que ya exista en vSphere y que se pueda enrutar a las redes principal y de cargas de trabajo.
- El servicio externo o el usuario de desarrollo y operaciones envía tráfico a una dirección IP virtual. El tráfico se enruta a la red donde se conecta HAProxy.
- HAProxy equilibra la carga del tráfico de IP virtual con la dirección IP del nodo de Tanzu Kubernetes o la máquina virtual del plano de control. HAProxy reclama la dirección IP virtual para que pueda equilibrar la carga del tráfico que entra en esa IP.
- La máquina virtual del plano de control o el nodo del clúster de Tanzu Kubernetes entrega el tráfico a los pods de destino que se ejecutan dentro del clúster de Tanzu Kubernetes.
Topología de clúster supervisor con una red de carga de trabajo múltiple y HA Proxy con dos NIC virtuales
En esta topología, es posible configurar un grupo de puertos para que actúe como red de cargas de trabajo principal y un grupo de puertos dedicados que sirvan como red de cargas de trabajo para cada espacio de nombres. HAProxy se implementa con dos NIC virtuales (configuración Predeterminada) y puede conectarse a la red de cargas de trabajo principal o a cualquiera de las redes de cargas de trabajo. También puede utilizar una red de máquinas virtuales existente que se pueda enrutar a las redes principal y de cargas de trabajo.
Topología de clúster supervisor con una red de carga de trabajo múltiple y HA Proxy con tres NIC virtuales
Seleccionar entre las posibles topologías
Antes de seleccionar alguna de las posibles topologías, debe evaluar las necesidades de su entorno:
- ¿Necesita el aislamiento de Capa 2 entre el clúster supervisor y los clústeres de Tanzu Kubernetes?
- No: la topología más simple, con una red de cargas de trabajo que atienda a todos los componentes.
- Sí: la topología de red de cargas de trabajo aislada con redes principal y de cargas de trabajo independientes.
- ¿Necesita aún más aislamiento de Capa 2 entre los clústeres de Tanzu Kubernetes?
- No: topología de red de cargas de trabajo aislada con redes principal y de cargas de trabajo independientes.
- Sí: topología con varias redes de cargas de trabajo con una red de cargas de trabajo independiente para cada espacio de nombres y una red de cargas de trabajo principal dedicada.
- ¿Desea evitar que los usuarios de desarrollo y operaciones y los servicios externos enruten directamente a las máquinas virtuales del plano de control de Kubernetes y los nodos del clúster de Tanzu Kubernetes?
- No: configuración de HAProxy con dos NIC.
- Sí: configuración de HAProxy con tres NIC Esta configuración se recomienda para entornos de producción.