El entorno y las máquinas virtuales de Almacenamiento nativo en la nube que participan en el clúster de Kubernetes deben cumplir con varios requisitos.
Requisitos de Almacenamiento nativo en la nube
- Una versión compatible de vSphere.
- Una versión compatible de Kubernetes.
- Un clúster de Kubernetes implementado en las máquinas virtuales. Para obtener más información sobre cómo implementar el complemento CSI de vSphere y ejecutar el clúster de Kubernetes en vSphere, consulte la documentación de VMware vSphere Container Storage Plug-in.
Requisitos de máquinas virtuales de clústeres de Kubernetes
- Máquinas virtuales con la versión de hardware 15 o posterior. Instale VMware Tools en cada máquina virtual del nodo.
- Recomendaciones de hardware de máquina virtual:
- Configure la CPU y la memoria de forma adecuada en función de los requisitos de carga de trabajo.
- Utilice el controlador SCSI paravirtual de VMware para el disco principal en la máquina virtual del nodo.
- Todas las máquinas virtuales deben poder acceder a un almacén de datos compartido, como vSAN.
- Establezca el parámetro disk.EnableUUID en cada máquina virtual del nodo. Consulte Configurar clúster de Kubernetes en máquinas virtuales vSphere.
- Para evitar errores y un comportamiento impredecible, no tome instantáneas de las máquinas virtuales de nodo de CNS.
Requisitos del volumen de archivos de CNS
- Utilice vSphere versión 7.0 o posterior con una versión de Kubernetes compatible.
- Use una versión compatible de CSI. Para obtener información, consulte la documentación de VMware vSphere Container Storage Plug-in.
- Habilite y configure el servicio de archivos de vSAN. Deberá configurar los dominios, grupos de direcciones IP, red, etc. que sean necesarios del servicio de archivos. Para obtener información, consulte el documento Administrar VMware vSAN.
- Siga las directrices específicas para configurar el acceso a la red desde un sistema operativo invitado en el nodo de Kubernetes a un recurso compartido de archivos de vSAN. Consulte Configurar acceso a la red para recurso compartido de archivos de vSAN.
Configurar acceso a la red para recurso compartido de archivos de vSAN
Para poder aprovisionar volúmenes persistentes de ReadWriteMany en el entorno de vSphere Kubernetes genérico, configure las redes, los conmutadores y los enrutadores necesarios de los nodos de Kubernetes en la red del servicio de archivos de vSAN.
Configurar la red
- En cada nodo de Kubernetes, puede utilizar una vNIC dedicada para el tráfico del recurso compartido de archivos de vSAN. Esta opción solo es necesaria si desea utilizar una ruta de acceso de tráfico de datos segura para los volúmenes de archivos.
- Si utiliza una vNIC dedicada, asegúrese de que el tráfico a través de la vNIC dedicada se pueda enrutar a una o varias redes de servicio de archivos de vSAN.
- Asegúrese de que solo el sistema operativo invitado de cada nodo de Kubernetes pueda acceder directamente al recurso compartido de archivos de vSAN a través de la dirección IP del recurso compartido de archivos. Los pods del nodo no pueden hacer ping ni acceder al recurso compartido de archivos de vSAN a través de su dirección IP.
El controlador CSI de CNS garantiza que solo los pods que están configurados para usar el volumen de archivos de CNS pueden acceder al recurso compartido de archivos de vSAN mediante la creación de un punto de montaje en el sistema operativo invitado.
- Evite crear un conflicto de direcciones IP entre las máquinas virtuales del nodo y los recursos compartidos de archivos de vSAN.
En la siguiente ilustración se muestra un ejemplo de configuración de red de CNS con el servicio de recurso compartido de archivos de vSAN.
- La configuración utiliza redes independientes para diferentes elementos en el entorno de CNS.
Red Descripción Red de administración de vSphere Por lo general, en un clúster de Kubernetes genérico, cada nodo tiene acceso a esta red. Red de nodo o pod Kubernetes utiliza esta red en la comunicación de nodo a nodo y de pod a pod. Red de recurso compartido de archivos dedicada El tráfico de datos del volumen de archivos de CNS utiliza esta red. Red de recurso compartido de archivos de vSAN Red en la que el recurso compartido de archivos de vSAN está habilitado y donde están disponibles los recursos compartidos de archivos. - Cada nodo de Kubernetes tienen una vNIC dedicada para el tráfico de archivos. Esta vNIC es independiente de la vNIC que se utiliza para la comunicación de nodo a nodo y de pod a pod. Esta configuración solo se utiliza a modo de ejemplo, pero no es obligatoria.
- Solo las aplicaciones que están configuradas para usar el recurso compartido de archivos de CNS tienen acceso a los recursos compartidos de archivos de vSAN a través del punto de montaje en el sistema operativo invitado del nodo. Por ejemplo, en la ilustración, sucede lo siguiente:
- Los pods Aplic-1 y Aplic-2 están configurados para usar un volumen de archivos, y tienen acceso al recurso compartido de archivos a través del punto de montaje creado por el controlador CSI.
- Aplic-3 y Aplic-4 no están configurados con un volumen de archivos, y no pueden acceder a los recursos compartidos de archivos.
- Los recursos compartidos de archivos de vSAN se implementan como contenedores en una máquina virtual de dispositivo de recurso compartido de archivos de vSAN en el host ESXi. Un implementador de Kubernetes, que es un software o un servicio capaz de configurar, implementar y administrar clústeres de Kubernetes, configura los enrutadores y los conmutadores necesarios para que el sistema operativo invitado en el nodo de Kubernetes pueda acceder a los recursos compartidos de archivos de vSAN.
Limitaciones de seguridad
- La funcionalidad del archivo de CNS da por hecho que cualquiera que tenga el identificador de volumen de archivo de CNS es un usuario autorizado del volumen. Por lo tanto, cualquier usuario que tenga ese identificador de volumen de archivo de CNS podrá acceder a los datos almacenados en el volumen.
- El volumen de archivos de CNS solo admite la autenticación de AUTH_SYS, que es una autenticación basada en identificadores de usuario. Para proteger el acceso a los datos en el volumen de archivos de CNS, se deben utilizar los identificadores de usuario adecuados correspondientes a los contenedores que acceden al volumen de archivos de CNS.
- Un volumen persistente de ReadWriteMany sin enlazar que hace referencia a un volumen de archivos de CNS se puede enlazar mediante una notificación de volumen persistente creada por cualquier usuario de Kubernetes en cualquier espacio de nombres. Asegúrese de que solo los usuarios autorizados tienen acceso a Kubernetes para evitar problemas de seguridad.
Configurar el controlador CSI para acceder a clústeres de servicios de archivos de vSAN
En función de la configuración, el controlador CSI puede aprovisionar volúmenes de archivos en uno o varios clústeres de vSAN donde el servicio de archivos esté habilitado.
Se puede restringir el acceso a únicamente los clústeres de vSAN específicos donde el servicio de archivos esté habilitado. Al implementar el clúster de Kubernetes, configure el controlador CSI con acceso a los clústeres de vSAN específicos del servicio de archivos. Como resultado, el controlador CSI solo puede aprovisionar los volúmenes de archivos en esos clústeres de vSAN.
En la configuración predeterminada, el controlador CSI utiliza cualquier clúster de vSAN del servicio de archivos que haya disponible en vCenter Server para aprovisionar volúmenes de archivos. El controlador CSI no comprueba qué clúster de vSAN del servicio de archivos está accesible mientras se aprovisionan volúmenes de archivos.