Cuando vSphere with Tanzu está habilitado en un clúster de vSphere, crea un plano de control de Kubernetes dentro de la capa de hipervisor. Esta capa contiene objetos específicos que habilitan la capacidad para ejecutar cargas de trabajo de Kubernetes en ESXi.
Un clúster habilitado para vSphere with Tanzu se denomina clúster supervisor. Se ejecuta sobre una capa de SDDC compuesta por ESXi para recursos informáticos, NSX-T Data Center o redes de vSphere, y vSAN u otra solución de almacenamiento compartido. El almacenamiento compartido se utiliza para volúmenes persistentes de los pods de vSphere, máquinas virtuales que se ejecutan dentro del clúster supervisor y pods de un clúster de Tanzu Kubernetes. Después de crear un clúster supervisor, como administrador de vSphere, puede crear espacios de nombres dentro de clúster supervisor que se denominan instancias de espacio de nombres de vSphere. Como ingeniero de Desarrollo y operaciones, puede ejecutar cargas de trabajo compuestas por contenedores que se ejecutan dentro de pods de vSphere y crear clústeres de Tanzu Kubernetes.
- Máquina virtual de plano de control de Kubernetes. Se crean tres máquinas virtuales de plano de control de Kubernetes en los hosts que forman parte del clúster supervisor. Las tres máquinas virtuales del plano de control cuentan con equilibrio de carga, ya que cada una de ellas tiene su propia dirección IP. Además, se asigna una dirección IP flotante a una de las máquinas virtuales. vSphere DRS determina la colocación exacta de las máquinas virtuales del plano de control en los hosts ESXi y las migra cuando es necesario. vSphere DRS también se integra con el programador de Kubernetes en las máquinas virtuales del plano de control, por lo que DRS determina la colocación de los pods de vSphere. Cuando programa una pod de vSphere como ingeniero de operaciones y desarrollo, la solicitud pasa por el flujo de trabajo de Kubernetes común y después a DRS, el cual toma la decisión de colocación final.
- Spherelet. Se crea un proceso adicional llamado "Spherelet" en cada host. Se trata de un kubelet que se transporta de forma nativa a ESXi y permite que el host ESXi se convierta en parte del clúster de Kubernetes.
- Container Runtime Executive (CRX). CRX es similar a una máquina virtual desde la perspectiva de Hostd y vCenter Server. CRX incluye un kernel de Linux paravirtualizado que funciona junto con el hipervisor. CRX utiliza las mismas técnicas de virtualización de hardware que las máquinas virtuales y tiene un límite de máquina virtual alrededor. Se utiliza una técnica de arranque directo, que permite que el invitado de CRX de Linux inicie el proceso de inicialización principal sin pasar por la inicialización del kernel. Esto permite que los pods de vSphere arranquen casi tan rápido como los contenedores.
- La API del clúster y servicio VMware Tanzu™ Kubernetes Grid™ son módulos que se ejecutan en clúster supervisor y habilitan el aprovisionamiento y la administración de los clústeres de Tanzu Kubernetes. El módulo servicio de máquina virtual es responsable de implementar y ejecutar las máquinas virtuales independientes y las máquinas virtuales que conforman clústeres de Tanzu Kubernetes.
espacio de nombres de vSphere
Un espacio de nombres de vSphere establece los límites de los recursos donde se pueden ejecutar los pods de vSphere y los clústeres de Tanzu Kubernetes creados mediante servicio Tanzu Kubernetes Grid. Cuando se crea inicialmente, el espacio de nombres tiene recursos ilimitados dentro del clúster supervisor. Como administrador de vSphere, puede establecer límites para la CPU, la memoria y el almacenamiento, así como la cantidad de objetos de Kubernetes que se pueden ejecutar en el espacio de nombres. Se crea un grupo de recursos por cada espacio de nombres en vSphere. Las limitaciones de almacenamiento se representan como cuotas de almacenamiento en Kubernetes.
Para otorgar acceso a los espacios de nombres al ingeniero de desarrollo y operaciones, como administrador de vSphere, debe asignar permisos a los usuarios o a los grupos de usuarios disponibles en un origen de identidad asociado con vCenter Single Sign-On.
Después de crear un espacio de nombres y configurarlo con límites de recursos y objetos, así como con permisos y directivas de almacenamiento, como ingeniero de desarrollo y operaciones, puede acceder al espacio de nombres para ejecutar cargas de trabajo de Kubernetes y crear clústeres de Tanzu Kubernetes mediante servicio Tanzu Kubernetes Grid.
Clústeres de Tanzu Kubernetes
Un clúster de Tanzu Kubernetes es una distribución completa del software de Kubernetes de código abierto que VMware empaqueta, firma y admite. En el contexto de vSphere with Tanzu, puede utilizar el servicio Tanzu Kubernetes Grid para aprovisionar clústeres de Tanzu Kubernetes en clúster supervisor. Puede invocar a la API del servicio Tanzu Kubernetes Grid de forma declarativa mediante kubectl y una definición de YAML.
clúster supervisor configurado con la pila de redes de vSphere
Un clúster supervisor que se configure con la pila de redes de vSphere solo admite la ejecución de clústeres de Tanzu Kubernetes creados mediante el servicio Tanzu Kubernetes Grid. El clúster también es compatible con el servicio de red de vSphere y el servicio de almacenamiento.
Un clúster supervisor que se configura con la pila de redes de vSphere solo admite pods de vSphere. Por lo tanto, el componente Spherelet no está disponible en pods de clúster supervisor y los pods de Kubernetes se ejecutan dentro de clústeres de Tanzu Kubernetes. Un clúster supervisor que se configure con la pila de redes de vSphere tampoco admite el registro de Harbor, ya que el servicio solo se utiliza con los pods de vSphere.
Un espacio de nombres de vSphere creado en un clúster que se configure con la pila de redes de vSphere tampoco admite la ejecución de pods de vSphere, sino solamente de clústeres de Tanzu Kubernetes.