vSphere con alta disponibilidad de Tanzu š¤
Comencemos analizando genĆ©ricamente las soluciones de nube pĆŗblica, ya que ofrecen una plantilla para proporcionar infraestructura y aislamiento de servicios crĆticos. Los recursos de la nube pĆŗblica se alojan en regiones geogrĆ”ficas segmentadas en zonas de disponibilidad (AZ) que proporcionan un conjunto de servicios e infraestructura fĆsica aislados. Los recursos pueden ser regionales o basados āāen AZ, sin embargo, la mayorĆa estĆ”n contenidos en una Ćŗnica zona de disponibilidad. Por ejemplo, los nodos de mĆ”quina virtual que componen un clĆŗster de Kubernetes podrĆan ser especĆficos de AZ y solo podrĆan adjuntar un volumen persistente que estuviera en la misma zona. Las direcciones IP estĆ”ticas o las imĆ”genes de VM pueden ser regionales y estar disponibles en todas las zonas. Las AZ proporcionan una capa de abstracción sobre la infraestructura fĆsica que las respalda. Esa infraestructura estĆ” diseƱada para garantizar el aislamiento de la mayorĆa de las fallas de infraestructura fĆsica y de software. La mayorĆa de las AZ estĆ”n diseƱadas con sus propios planos de energĆa, refrigeración, redes y control aislados de otras zonas.
Los recursos de vSphere se alojan en una infraestructura fĆsica que se puede aislar en vSphere Clusters y administrar mediante vCenter. A efectos de comparación con la nube pĆŗblica, podemos pensar en un clĆŗster de vSphere como una zona de disponibilidad (AZ). Los hosts ESXi se agrupan en racks de centros de datos fĆsicos, conectados entre sĆ, y a otros racks, a travĆ©s de una serie de conmutadores de red. Las organizaciones toman decisiones sobre si alinear los racks con los clĆŗsteres de vSphere o distribuir los hosts de un clĆŗster entre los racks. El mapeo uno a uno entre clĆŗsteres y racks proporciona aislamiento y comunicación de baja latencia entre las aplicaciones que se ejecutan en el clĆŗster, a expensas de la disponibilidad en el caso de una conmutación fallida.
vSphere with Tanzu actualmente admite la implementación de clústeres de Supervisor y Tanzu Kubernetes Grid (TKG) en un solo clúster de vSphere. Piense en esto como una implementación de una sola zona de disponibilidad. Una implementación de una sola zona de disponibilidad no significa que no haya alta disponibilidad. Como se describe a continuación, vSphere proporciona un conjunto de capacidades para promover la disponibilidad de los clústeres de Tanzu Kubernetes Grid (TKG) que se ejecutan en una sola AZ.
Veamos la capacidad en la plataforma que admite alta disponibilidad, luego definamos un conjunto de escenarios de falla dentro de una implementación de vSphere con Tanzu y analicemos los enfoques para aumentar la disponibilidad.
Plano de control de mĆŗltiples nodos de clĆŗster con host Anti-Affinity y HA
Supervisor Cluster proporciona la API de Kubernetes para implementar los clĆŗsteres de vSphere Pods y TKG. Es un servicio del sistema que debe estar disponible para la operación de clĆŗsteres y servicios de TKG implementados como operadores de Kubernetes. Para garantizar la disponibilidad, hemos implementado una configuración de varios controladores. Tanto el supervisor como los controladores de clĆŗster de TKG estĆ”n configurados en una implementación apilada con el servidor Kube-API y etcd disponibles en cada mĆ”quina virtual. Cada plano de control tiene un balanceador de carga que enruta el trĆ”fico a las API de Kube en cada nodo del controlador. La programación de los nodos del plano de control se realiza a travĆ©s de vSphere 7.0 VMware vSphereĀ® Distributed Resource Scheduler ⢠(DRS). vSphere 7.0 DRS es mĆ”s rĆ”pido y liviano, lo que garantiza una ubicación rĆ”pida entre los hosts, utilizando una polĆtica de computación suave de antiafinidad para separar los controladores en hosts separados cuando sea posible. La antiafinidad garantiza que una sola falla del controlador no afecte la disponibilidad del clĆŗster.
AdemÔs, vSphere HA proporciona alta disponibilidad para los controladores fallidos al monitorear los eventos de falla y volver a encender las mÔquinas virtuales. En caso de falla del host, las VM, tanto los nodos Supervisor como TKG, se reinician en otro host disponible, lo que reduce drÔsticamente el tiempo que el clúster aún disponible se ejecuta con capacidad disminuida. Los Supervisor Controllers son administrados por el ciclo de vida de vSphere Agent Manager (EAM) y los administradores no pueden apagarlos fÔcilmente; sin embargo, si se apagan, se reiniciarÔn inmediatamente en el mismo host.
Pods y Daemons del sistema de clĆŗsteres
Systemd es el sistema de inicio para la distribución de PhotonOS linux que alimenta los nodos Supervisor y TKG Cluster. Systemd proporciona supervisión de procesos y reiniciarĆ” automĆ”ticamente cualquier daemons fallido crĆtico, como el kubelet de Kubernetes.
Los pods del sistema de Kubernetes, los pods de recursos personalizados de VMware y los controladores se implementan como conjuntos de rĆ©plicas (o DaemonSets en el contexto de los clĆŗsteres de TKG) supervisados āāpor otros controladores de Kubernetes y los contenedores los volverĆ”n a crear en caso de falla. Los procesos y pods que componen los clĆŗsteres Supervisor y TKG se implementan con mayor frecuencia con mĆŗltiples rĆ©plicas, por lo que continĆŗan estando disponibles incluso durante la reconciliación de un Pod fallido. La implementación en tĆ©rminos del uso de DaemonSets vs ReplicaSets es diferente entre los clĆŗsteres de Supervisor y TKG, pero la disponibilidad de los pods del sistema individuales es similar
Supervisor y equilibrador de carga del controlador de clĆŗster TKG
Como se mencionó anteriormente, los clĆŗsteres de supervisor y TKG se implementan como un conjunto de tres controladores. En el caso de los clĆŗsteres de TKG, los desarrolladores pueden elegir una implementación de un solo controlador si los recursos estĆ”n limitados. El acceso a kube-api se dirige a una IP virtual de Load Balancer y se distribuye entre los puntos finales de API disponibles. La pĆ©rdida de un nodo del plano de control no afecta la disponibilidad del clĆŗster. Los balanceadores de carga basados āāen NSX se ejecutan en nodos perimetrales que se pueden implementar en una configuración activa / activa, lo que garantiza la disponibilidad de la IP virtual que los desarrolladores usarĆ”n para acceder a los clĆŗsteres.
Disponibilidad de almacenamiento en clĆŗster
Los clientes tienen la opción de habilitar VMware vSAN para proporcionar almacenamiento compartido de alta disponibilidad para los clĆŗsteres de Supervisor y TKG. vSAN combina el almacenamiento que es local para los hosts en una matriz de almacenamiento virtual que se puede configurar con las necesidades de redundancia del entorno. Los niveles de RAID se implementan en todos los hosts y brindan disponibilidad en los casos en que fallan los hosts individuales. vSAN es nativo del hipervisor ESXi y, por lo tanto, no se ejecuta como un conjunto de dispositivos de almacenamiento que podrĆan competir con las VM del clĆŗster de Kubernetes por los recursos.
Disponibilidad de vSphere Pods
Los clientes que necesitan el aislamiento de una mĆ”quina virtual desde una perspectiva de seguridad y rendimiento, mientras desean orquestar la carga de trabajo a travĆ©s de Kubernetes, pueden elegir vSphere Pods. Los operadores del sistema y de terceros tambiĆ©n se pueden implementar como pods de vSphere. Se ejecutan en una mĆ”quina virtual en tiempo de ejecución de contenedor directamente en hosts ESXi y se comportan como cualquier otro pod. La disponibilidad se administra a travĆ©s de objetos estĆ”ndar de Kubernetes y sigue el patrón de Kubernetes para manejar fallas de pod. Cree una implementación con varias rĆ©plicas definidas y el controlador observarĆ” los pods fallidos y los volverĆ” a crear. Las fallas de host harĆan que los vSphere Pods se volvieran a crear en nuevos hosts. Este patrón no usa vSphere HA, sino que aprovecha los controladores de Kubernetes para manejar fallas.
Escenarios de falla de infraestructura y software
Analizamos la capacidad central dentro de la plataforma y ahora definiremos un conjunto de escenarios de falla dentro de una implementación de vSphere con Tanzu, luego analizaremos los enfoques para aumentar la disponibilidad en cada escenario.
Fallo del componente del clĆŗster de Kubernetes
- Fallo del proceso del nodo de Kubernetes
- Fallo del pod del sistema de Kubernetes
- MƔquina virtual apagada
Cuando un controlador o un nodo trabajador deja de estar disponible, los pods del sistema se volverĆ”n a crear en uno de los otros nodos disponibles. Los procesos fallidos de Linux son monitoreados y reiniciados por el sistema de inicio systemd. Esto es cierto tanto para el plano de control de TKG como para los nodos de trabajo, asĆ como para el plano de control del supervisor. Los nodos Supervisor Worker son hosts ESXi reales, no ejecutan systemd y manejan las fallas del proceso de manera diferente. Las mĆ”quinas virtuales que se apagan se reinician automĆ”ticamente. El plano de control se implementa como un conjunto de 3 controladores, con una IP virtual de Load Balancer como el punto final de Kube-API para garantizar que durante el tiempo necesario para remediar la interrupción, el clĆŗster todavĆa estĆ© disponible. La corrección de los nodos de trabajo de TKG se maneja mediante el uso integrado de la capacidad MachineHeatlhCheck en ClusterAPI V1Alpha3.
Interrupción del host
- Error de host
- Reinicio del host
La falta de disponibilidad de un host ESXi puede deberse a un breve reinicio o podrĆa estar relacionada con una falla real del hardware. Al reiniciar, todas las VM del controlador y del nodo se reinician automĆ”ticamente en el host. Si el reinicio tarda mĆ”s que el umbral de tiempo de espera de latido de HA, las VM se programan para su ubicación en otros hosts disponibles y se encienden. Las reglas de antiafinidad se mantendrĆ”n si los recursos lo permiten. En cualquier caso, los clĆŗsteres todavĆa estĆ”n disponibles porque tienen varios nodos de controlador ubicados en hosts ESXi separados y se accede a ellos a travĆ©s de un equilibrador de carga y pueden sobrevivir a la pĆ©rdida de un controlador.
Interrupción del estante
- Fallo del interruptor de la parte superior del bastidor
Los hosts estĆ”n organizados en racks fĆsicos en el centro de datos. Los hosts en un rack se conectan a travĆ©s de un conmutador Top of Rack y ademĆ”s se conectan a conmutadores de agregación adicionales. La pĆ©rdida de un conmutador, matriz de almacenamiento o alimentación podrĆa hacer que un rack completo no estĆ© disponible. La disponibilidad de un supervisor o clĆŗster TKG depende de cómo se alinean los hosts con los racks. Algunos clientes colocarĆ”n todos los hosts en un clĆŗster de vSphere en el mismo rack, lo que esencialmente harĆ” que ese rack fĆsico sea una zona de disponibilidad (AZ). La falla del bastidor harĆa que el Supervisor Cluster y todos los clĆŗsteres TKG no estuvieran disponibles. Otra opción es crear clĆŗsteres de vSphere a partir de hosts que residen en varios racks. Esta configuración garantiza que una sola falla de bastidor no haga que todos los hosts de vSphere Cluster no estĆ©n disponibles y aumenta la probabilidad de que el plano de control permanezca disponible.
Actualmente, el Programador de recursos distribuidos (DRS) no reconoce el bastidor. Esto significa que las reglas de antiafinidad para las mĆ”quinas virtuales del plano de control garantizarĆan la separación de hosts, pero no necesariamente garantizarĆan que los hosts estuvieran en racks separados. Se estĆ” trabajando para proporcionar una programación basada en rack que mejorarĆa esta disponibilidad.
Fallo de la matriz de almacenamiento
Los clĆŗsteres de supervisor y TKG requieren almacenamiento compartido para permitir que los volĆŗmenes persistentes sean accesibles a los pods que se pueden colocar en cualquier nodo, que podrĆa residir en cualquier host. Tanto vSAN como los arreglos de almacenamiento tradicionales admiten varias configuraciones RAID que garantizan la disponibilidad de datos en caso de corrupción de discos individuales. vSAN agrega almacenamiento local adjunto a hosts fĆsicos y tambiĆ©n puede permanecer disponible si se produce una falla de host o incluso potencialmente de un rack.
Los clĆŗsteres extensibles de vSAN tambiĆ©n brindarĆ”n la capacidad de dividir un Ćŗnico clĆŗster de vSphere en dominios de fallas especĆficos de almacenamiento separados. Esto permitirĆa la disponibilidad de datos incluso con la pĆ©rdida de todo el dominio. Con hosts fĆsicos distribuidos en varios racks, los volĆŗmenes persistentes permanecerĆan disponibles durante las fallas tanto del host como del rack.
Falla de red
La redundancia fĆsica estĆ” integrada en la mayorĆa de los entornos de red de producción que brindan disponibilidad a travĆ©s de fallas de hardware fĆsico. Cuando se implementan con NSX-T, los clĆŗsteres Supervisor y TKG se ejecutan en redes superpuestas que son compatibles con la red fĆsica subyacente. Las VM de NSX Edge contienen los Vips de Load Balancer y enrutan el trĆ”fico a los nodos del plano de control del clĆŗster. NSX Edges se puede implementar en una configuración activa / activa que mantendrĆa la red disponible en el caso de una falla del host o de la mĆ”quina virtual que afectó a un solo NSX Edge.
Interrupción de vCenter
La disponibilidad de vCenter Server es fundamental para el funcionamiento completamente funcional de los clĆŗsteres de Supervisor y TKG. En el caso de una falla de vCenter, todas las mĆ”quinas virtuales, tanto el controlador como los nodos, continuarĆ”n ejecutĆ”ndose y serĆ”n accesibles aunque con funcionalidad degradada. Los módulos de aplicaciones seguirĆan ejecutĆ”ndose, pero la implementación y la gestión del sistema serĆan limitadas. La autenticación requiere que el servicio de inicio de sesión Ćŗnico devuelva un token de autenticación al archivo de configuración de kubectl. Solo los usuarios que tengan un token no vencido podrĆ”n acceder al sistema. Objetos como Load Balancers y PersistentVolumeClaims requieren interacción con vCenter y no se pueden administrar durante el ciclo de vida.
vCenter se puede proteger con vCenter High Availability. vCenter High Availability (vCenter HA) protege no solo contra fallas de hardware y host, sino tambiĆ©n contra vCenter Server fallas de aplicaciones de . Al utilizar la conmutación por error automatizada de activo a pasivo, vCenter HA admite alta disponibilidad con un tiempo de inactividad mĆnimo. Esto aumentarĆa drĆ”sticamente la disponibilidad de los grupos Supervisor y TKG.
Hay un trabajo extenso en proceso para desacoplar los servicios principales de vCenter Server y llevarlos al nivel del clúster. El objetivo es proporcionar siempre una infraestructura que continúe funcionando incluso cuando vCenter tiene una interrupción
Aumentando la resiliencia en clĆŗsteres activos-activos bare-metal: arquitectura del plano de control de 4 y 5 nodos ( versión 4.17 ⬠) Las organizaciones que ejecutan implementaciones activo-activo en dos ubicaciones , especialmente aquellas que alojan cargas de trabajo con estado, como las mĆ”quinas virtuales de OpenShift Virtualization que ejecutan una sola instancia , dependen en gran medida de la infraestructura subyacente paraā¦
Todo lo mostrado aquĆ estĆ” incluido en todas las suscripciones de OpenShift. Al migrar desde VMware, una de las primeras dudas es cómo se trasladan los conceptos de red. Este post lo explica visualmente. Figure 1: Virtual Machine Networking in OpenShift Las VMs pueden conectarse a: Interfaces soportadas: Esto permite emular redes como las de VMwareā¦