Revise las posibles topologías que puede implementar para el equilibrador de carga de HAProxy para un Supervisor configurado con redes VDS. Al usar vSphere IaaS control plane con redes VDS, HAProxy brinda equilibrio de carga para desarrolladores que acceden al plano de control de Tanzu Kubernetes Grid y para los servicios de Kubernetes del tipo equilibrador de carga.
Redes de carga de trabajo en el Supervisor
Para configurar una instancia de Supervisor con redes VDS, debe conectar todos los hosts del clúster a una instancia de VDS. En función de la topología que implemente para las redes de carga de trabajo de 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.
Las máquinas virtuales del plano de control de Kubernetes en 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 Grid 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 Grid.
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 Supervisor y los clústeres de Tanzu Kubernetes Grid. Cada máquina virtual del plano de control de Kubernetes en 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 Grid 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 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 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 Supervisor con una red de cargas de trabajo y HAProxy con dos NIC virtuales
En esta topología, se configura un 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 Grid.
- 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.
- La carga de HAProxy equilibra el tráfico de IP virtual con la dirección IP del nodo del clúster de Tanzu Kubernetes Grid o con 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 Grid entrega el tráfico a los pods de destino que se ejecutan dentro del Supervisor o el clúster de Tanzu Kubernetes Grid, respectivamente.
Topología de 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 Grid. Una red de cargas de trabajo. que asigna a todos los espacios de nombres del Supervisor. Esta red conecta los nodos del clúster de Tanzu Kubernetes Grid.
- 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 Grid 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 Grid entrega el tráfico a los pods de destino que se ejecutan dentro del clúster de Tanzu Kubernetes Grid.
Topología de 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 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 Supervisor y los clústeres de Tanzu Kubernetes Grid?
- 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 Grid?
- 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 Grid?
- 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.
Consideraciones sobre el uso del equilibrador de carga de HAProxy con vSphere IaaS control plane
Tenga en cuenta las siguientes consideraciones al planificar una instancia de vSphere IaaS control plane con el equilibrador de carga de HAProxy.
- Se requiere un contrato de soporte con HAProxy para obtener soporte técnico para el equilibrador de carga de HAProxy. VMware GSS no puede proporcionar compatibilidad con el dispositivo de HAProxy .
- El dispositivo de HAProxy es un singleton sin posibilidad de disponer de una topología de alta disponibilidad. Para entornos de alta disponibilidad, VMware recomienda utilizar una instalación completa de NSX o NSX Advanced Load Balancer.
- No es posible expandir el rango de direcciones IP utilizado para el front-end en una fecha posterior, lo que significa que la red debe dimensionarse para todo el crecimiento futuro.