Un espacio de nombres de vSphere es un tenant de ámbito de red en Supervisor. Los espacios de nombres de vSphere se utilizan para alojar clústeres de Servicio TKG y proporcionan redes, permisos de función, almacenamiento persistente, cuota de recursos, biblioteca de contenido e integración de clases de máquina virtual.

espacio de nombres de vSphere red

Una red de espacio de nombres de vSphere es una subred separada de Supervisor > Red de carga de trabajo > Red de nombre. El prefijo de subred de espacio de nombres especifica el tamaño de la subred reservada para cada espacio de nombres de vSphere. El valor predeterminado es /28.

La red de espacio de nombres de vSphere proporciona conectividad para los clústeres de TKG de Supervisor. De forma predeterminada, el espacio de nombres de vSphere utilizará configuraciones de red a nivel de clúster y asignará las direcciones IP desde su subred. Cuando se crea un espacio de nombres de vSphere, se crea una instancia del segmento de superposición de /28 y del grupo de direcciones IP correspondiente en los pods de servicio de ese espacio de nombres de vSphere

Cuando el primer clúster de TKG se aprovisiona en un espacio de nombres de vSphere, el clúster de TKG compartirá la misma subred que su espacio de nombres de vSphere. Para cada clúster de TKG subsiguiente que se aprovisiona en ese espacio de nombres de vSphere, se crea una nueva subred para ese clúster y se conecta a la puerta de enlace de su espacio de nombres de vSphere.

Existe una instancia de equilibrador de carga compartida en espacio de nombres de vSphere que se encarga de enrutar el tráfico de kubectl a cada plano de control del clúster de TKG. Además, para cada equilibrador de carga del servicio de Kubernetes que tiene recursos en el clúster de TKG, se crea una instancia de equilibrador de carga de capa 4 para ese servicio.

Los clústeres de TKG dentro del mismo espacio de nombres de vSphere comparten una IP de SNAT para la conectividad de norte a sur. La conectividad de este a oeste entre espacios de nombres no será SNAT.

Por lo general, el espacio de nombres de vSphere no se puede enrutar. Sin embargo, si utiliza redes NSX, puede anular la red de espacio de nombres de vSphere con una subred enrutable. Consulte Anular la configuración de la red de cargas de trabajo para un espacio de nombres de vSphere.

Grupos de recursos de espacio de nombres de vSphere

En una implementación de Supervisor de una única zona de vSphere, al crear un espacio de nombres de vSphere, se crea un grupo de recursos que respalda ese espacio de nombres. El espacio de nombres de vSphere proporciona una unidad lógica de recursos en el Supervisor, entre los que se incluyen recursos informáticos, almacenamiento, permisos, imágenes y clases. Cuando se configura un límite de CPU o memoria en un espacio de nombres de vSphere, por ejemplo, se aplican los mismos límites de recursos al grupo de recursos que respalda ese espacio de nombres. De esta manera, los espacios de nombres de vSphere habilitan el uso de varios tenants en el Supervisor.

La misma experiencia de varios tenants se aplica al Supervisor implementado entre las tres zonas de vSphere. Cuando se crea un espacio de nombres de vSphere en un Supervisor con zonas, el sistema crea un grupo de recursos en cada uno de los clústeres de vSphere que respaldan a ese Supervisor. Esto permite que un clúster de TKG aprovisionado en ese espacio de nombres de vSphere se implemente en cualquiera de las zonas que pertenecen a este Supervisor.

Si utiliza vSphere Client, puede ver objetos y el grupo de recursos del espacio de nombres de vSphere seleccionando la perspectiva Hosts y clústeres y la vista Máquinas virtuales y plantillas. Al aprovisionar un clúster de TKG, este se crea en el espacio de nombres de vSphere de destino. En una implementación de Supervisor con zonas, tendrá el mismo grupo de recursos en cada clúster de vSphere.

Objetos de espacio de nombres de vSphere

Almacenamiento de espacio de nombres de vSphere para clústeres de Servicio TKG

El almacenamiento nativo en la nube (Cloud Native Storage, CNS) de vSphere proporciona directivas de almacenamiento que admiten el aprovisionamiento de volúmenes persistentes y sus discos virtuales de respaldo para su uso con cargas de trabajo de Kubernetes.

La interfaz de almacenamiento de contenedor (Container Storage Interface, CSI) es un estándar del sector que Kubernetes utiliza para aprovisionar almacenamiento persistente a los contenedores. El Supervisor ejecuta un controlador CNS-CSI que conecta el almacenamiento CNS de vSphere al entorno de Kubernetes a través del espacio de nombres de vSphere. El componente CNS-CSI de vSphere se comunica directamente con el plano de control de CNS para todas las solicitudes de aprovisionamiento de almacenamiento provenientes de los clústeres de TKG en el espacio de nombres de vSphere.

Los clústeres de TKG ejecutan una versión modificada del controlador CNS-CSI de vSphere que es responsable de todas las solicitudes relacionadas con el almacenamiento que se originan desde el clúster de TKG. Las solicitudes se envían al componente CNS-CSI en el Supervisor, que a su vez las propaga al CNS en vCenter Server.

El diagrama muestra la relación entre espacio de nombres de vSphere, el Supervisor y los mecanismos de almacenamiento de los clústeres de TKG.

""

Volúmenes de almacenamiento persistentes para clústeres de Servicio TKG

Se requieren volúmenes persistentes para las aplicaciones con estado en Kubernetes. Para obtener más información acerca de los volúmenes persistentes, consulte la documentación de Kubernetes.

En el entorno de vSphere, los objetos de volúmenes persistentes se respaldan con discos virtuales que residen en almacenes de datos. Los almacenes de datos se representan a través de directivas de almacenamiento. Cuando se asigna una directiva de almacenamiento de vSphere a un espacio de nombres de vSphere, la directiva de almacenamiento queda disponible como una clase de almacenamiento de Kubernetes para cada clúster de TKG en ese espacio de nombres.

TKG admite el aprovisionamiento dinámico y estático de volúmenes persistentes. Con el aprovisionamiento dinámico, no es necesario aprovisionar previamente el volumen persistente. Se emite una notificación de volumen persistente (Persistent Volume Claim, PVC) que hace referencia a una clase de almacenamiento disponible en el espacio de nombres de vSphere. TKG aprovisiona automáticamente el volumen persistente correspondiente con un disco virtual de respaldo. Consulte Crear volúmenes de almacenamiento persistentes de forma dinámica.

Con el aprovisionamiento estático, se utiliza un objeto de almacenamiento existente que se pone a disposición de un clúster. Usted define el volumen persistente proporcionando los detalles del objeto de almacenamiento existente, sus configuraciones admitidas y las opciones de montaje. Consulte Crear volúmenes de almacenamiento persistentes de forma estática.

El diagrama muestra el flujo de trabajo de aprovisionamiento dinámico de volúmenes persistentes. Puede crear una PVC mediante kubectl en el clúster de TKG. Esta acción genera una PVC coincidente en el Supervisor y activa el controlador CNS-CSI que invoca a la API de creación de volúmenes de CNS.

""

Ediciones de clase de almacenamiento para clústeres de Servicio TKG

Para configurar un espacio de nombres de vSphere, asigne una o varias directivas de almacenamiento de vSphere. Cuando se aplica la directiva de almacenamiento vSphere, se convierte en una clase de almacenamiento de Kubernetes y se replica en Supervisor. Del mismo modo, la controladora TKG replica la clase de almacenamiento en cada clúster de TKG implementado en ese espacio de nombres de vSphere.

En el lado del clúster de TKG, verá dos ediciones de la clase de almacenamiento: una con el nombre definido por el usuario especificado cuando se creó la directiva de almacenamiento de vSphere y la otra con *-latebinding anexado al nombre.

Los desarrolladores pueden utilizar la edición de enlace en tiempo de espera de la clase de almacenamiento para enlazarse a un volumen de almacenamiento persistente después de que el programador de pods de TKG seleccione el nodo informático. Para obtener más información sobre qué clase de almacenamiento usar y cuándo, consulte Usar clases de almacenamiento para volúmenes persistentes.
kubectl get sc
NAME                                    PROVISIONER              RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
wcpglobal-storage-profile               csi.vsphere.vmware.com   Delete          Immediate              true                   2m43s
wcpglobal-storage-profile-latebinding   csi.vsphere.vmware.com   Delete          WaitForFirstConsumer   true                   2m43s

Creación de un espacio de nombres de vSphere

Existen varias formas de crear espacios de nombres de vSphere.

Los administradores pueden crear espacios de nombres de vSphere mediante vSphere Client. Consulte Crear un espacio de nombres de vSphere para alojar clústeres de Servicio TKG.

Los usuarios de vCenter Single Sign-On a los que se concede el permiso del rol Propietario para un espacio de nombres de vSphere pueden crear espacios de nombres de vSphere en modo de autoservicio mediante kubectl. Consulte Habilitar la creación de espacio de nombres de vSphere mediante Kubectl.

VMware expone API de vCenter Server para administrar el ciclo de vida de espacios de nombres de vSphere y proporciona kits de desarrollo de software (SDK), entre los que se incluyen: