Antes de poder utilizar la interfaz de la CLI o del instalador de Tanzu para implementar un clúster de administración, debe preparar el entorno de vSphere. Debe asegurarse de que vSphere cumpla los requisitos generales e importar las plantillas de imagen base desde las que Tanzu Kubernetes Grid cree máquinas virtuales de nodo de clúster. Cada plantilla de imagen base contiene una versión de un sistema operativo de máquina y una versión de Kubernetes.
kubectl
instalados. Consulte Instalar la CLI de Tanzu y la CLI de Kubernetes para su uso con clústeres de administración independientes.
tanzu
, kubectl
y otros comandos.vsphere-zones.yaml
que defina los objetos FailureDomain
y DeploymentZone
de las zonas.
FailureDomain
y DeploymentZone
en Kubernetes en Ejecución de clústeres en varias zonas de disponibilidad.Una red de vSphere* con:
VSPHERE_CONTROL_PLANE_ENDPOINT
o, si utiliza NSX Advanced Load Balancer para el endpoint del plano de control, deje que la dirección se establezca automáticamente desde un grupo de direcciones.CLUSTER_API_SERVER_PORT
o para entornos con NSX Advanced Load Balancer, VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
variable al implementar el clúster.~/.config/tanzu/tkg/bom/
y su nombre incluye la versión Tanzu Kubernetes Grid, por ejemplo, tkg-bom-v2.3.1+vmware.1.yaml
para v2.3.1.date
para ver la configuración de zona horaria.esxcli system time set
.NSX Advanced Load Balancer (ALB) instalado en la instancia de vSphere si desea utilizar NSX ALB como equilibrador de carga y proveedor de endpoint para HA del plano de control. Consulte Instalar NSX Advanced Load Balancer.
Si el entorno de vSphere se ejecuta VMware NSX, puede utilizar las interfaces de NSX cuando implemente clústeres de administración. Asegúrese de que la configuración de NSX incluya un segmento en el que DHCP esté habilitado. Asegúrese de que NTP esté configurado en todos los hosts ESXi, en vCenter Server y en la máquina de arranque.
* O consulte Preparar un entorno con acceso a Internet restringido para instalar sin acceso a la red externa.
En la siguiente tabla se describen ejemplos de tamaño de clústeres de administración en vSphere. Utilice estos datos como guía para asegurarse de que el clúster de administración esté escalado para controlar la cantidad de clústeres de carga de trabajo que planea implementar. La columna Tamaño de máquina virtual del clúster de carga de trabajo muestra los tamaños de máquina virtual que se utilizaron para los ejemplos en la columna Puede administrar….
Plan de clúster de administración | Tamaño de máquina virtual del clúster de administración | Puede administrar … | Tamaño de máquina virtual del clúster de carga de trabajo |
---|---|---|---|
3 nodos de plano de control y 3 nodos de trabajo | Nodos del plano de control:
Nodos de trabajo:
|
Ejemplos:
|
Nodos del plano de control:
Nodos de trabajo:
|
3 nodos de plano de control y 3 nodos de trabajo | Nodos del plano de control:
Nodos de trabajo:
|
Ejemplo: Un clúster de carga de trabajo, implementado con 3 nodos de plano de control y 500 nodos de trabajo | Nodos del plano de control:
Nodos de trabajo:
|
3 nodos de plano de control y 3 nodos de trabajo | Nodos del plano de control:
Nodos de trabajo:
|
Ejemplo: 200 clústeres de carga de trabajo, cada uno implementado con 3 plano de control y 5 nodos de trabajo | Nodos del plano de control:
Nodos de trabajo:
|
Asimismo, consulte Tamaños mínimos de máquina virtual para nodos de clúster, a continuación.
En vSphere 8, la función vSphere with Tanzu incluye un supervisor que puede usar como clúster de administración para Tanzu Kubernetes Grid. Esto significa que en vSphere 8, no necesita usar tanzu management-cluster create
o tanzu mc create
para implementar un clúster de administración si vSphere with Tanzu y el supervisor están habilitados. Se admite la implementación de un clúster de administración de Tanzu Kubernetes Grid en vSphere 8 cuando vSphere with Tanzu no está habilitado, pero la opción preferida es habilitar vSphere with Tanzu y utilizar el clúster supervisor integrado si es posible. El supervisor de vSphere with Tanzu está estrechamente integrado con vSphere, por lo que ofrece una experiencia de usuario más simplificada que usar un clúster de administración independiente. Sin embargo, el uso de un clúster de administración independiente en vSphere ofrece más opciones de configuración y personalización que un supervisor.
ImportanteLas versiones de CLI de Tanzu que son compatibles con TKG 2.x y con el supervisor vSphere with Tanzu en vSphere 8 no son compatibles con el clúster supervisor en vSphere 7. Para utilizar la CLI de Tanzu con un clúster supervisor vSphere with Tanzu en vSphere 7, utilice la versión CLI de Tanzu de TKG v1.6. Para utilizar las versiones de la CLI de Tanzu que son compatibles con TKG 2.x con Supervisor, actualice a vSphere 8. Puede implementar un clúster de administración de TKG 2.x independiente en vSphere 7 si no hay un clúster supervisor vSphere with Tanzu. Para obtener información sobre la compatibilidad entre los productos de CLI de Tanzu y VMware, consulte la documentación de CLI de Tanzu.
La CLI de Tanzu funciona con clústeres de administración proporcionados por vSphere with Tanzu y clústeres de administración independientes implementados por Tanzu Kubernetes Grid en Azure, Amazon Web Services (AWS) y vSphere cuando vSphere with Tanzu no esté habilitado, lo que permite implementar y administrar clústeres de carga de trabajo en varias infraestructuras mediante una sola herramienta. Para obtener información sobre cómo utilizar la CLI de Tanzu con un supervisor, consulte Conectar la CLI de Tanzu al supervisor en Crear y administrar clústeres de carga de trabajo de TKG 2.3 con la CLI de Tanzu.
Para obtener información sobre la función de vSphere with Tanzu en vSphere 8, consulte la documentación de vSphere with Tanzu 8.0.
NotaEn Azure VMware Solution, no se puede crear un clúster supervisor y es necesario implementar un clúster de administración para ejecutar comandos de
tanzu
.
Cada clúster de administración y clúster de carga de trabajo que implemente en vSphere requiere una dirección IP virtual estática para las solicitudes externas al servidor de API del clúster. Debe poder asignar esta dirección IP, por lo que no puede estar dentro del rango de DHCP, pero debe estar en la misma subred que el rango de DHCP.
El pod Kube-Vip del plano de control del clúster utiliza esta dirección IP virtual estática para atender solicitudes de API, y el certificado del servidor de API incluye la dirección para habilitar la comunicación TLS segura. En los clústeres de carga de trabajo, Kube-Vip se ejecuta en un modo básico de conmutación por error de capa 2, asignando la dirección IP virtual a un nodo de plano de control a la vez. En este modo, Kube-Vip no funciona como un verdadero equilibrador de carga para el tráfico del plano de control.
Tanzu Kubernetes Grid puede utilizar Kube-Vip como equilibrador de carga para cargas de trabajo en clústeres de carga de trabajo (vista previa técnica). No se puede utilizar Kube-VIP como servicio LoadBalancer
en clústeres basados en Windows. Para obtener más información, consulte Equilibrador de carga Kube-VIP.
Para equilibrar la carga de trabajo en vSphere, utilice NSX Advanced Load Balancer, también conocido como equilibrador de carga Avi, Essentials Edition.
ImportanteEn vSphere 8, para utilizar NSX Advanced Load Balancer con un clúster de administración independiente de TKG y sus clústeres de carga de trabajo, necesita NSX ALB v22.1.2 o una versión posterior y TKG v2.1.1 o una versión posterior.
Antes de poder implementar un clúster en vSphere, debe importar a vSphere una plantilla de imagen base que contenga las versiones de SISTEMA operativo y Kubernetes en las que se ejecutan los nodos del clúster. Para cada par compatible de versiones de sistema operativo y Kubernetes, VMware publica una plantilla de imagen base en formato OVA para implementar clústeres en vSphere. Después de importar el archivo OVA en vSphere, debe convertir la máquina virtual resultante en una plantilla de máquina virtual.
Las imágenes base admitidas para los nodos de clúster dependen del tipo de clúster, como se indica a continuación:
Clúster de administración: El OVA debe tener Kubernetes v1.26.8, la versión predeterminada para Tanzu Kubernetes Grid v2.3.1. El formato del almacén de datos puede ser uno de los siguientes:
Ubuntu v20.04 Kubernetes v1.26.8 OVA
NotaEn Tanzu Kubernetes Grid v2.3.1, la imagen OVA de Ubuntu utiliza el modo de arranque de la interfaz de firmware extensible unificada (UEFI).
Photon v3 Kubernetes v1.26.8 OVA
Un archivo OVA personalizado con una versión de Tanzu Kubernetes personalizada (TKr), como se describe en Crear imágenes de máquina.
Para importar una plantilla de imagen base en vSphere:
Descargue un archivo OVA de Tanzu Kubernetes Grid para los nodos del clúster. Para el clúster de administración, debe ser una de las descargas de Kubernetes v1.26.8 OVA.
ImportanteAsegúrese de descargar las plantillas de imagen base de OVA más recientes en caso de que haya versiones de revisión de seguridad.
Puede encontrar plantillas de imagen base actualizadas que incluyen revisiones de seguridad en la página de descarga de productos Tanzu Kubernetes Grid.
En el vSphere Client, haga clic con el botón secundario en un objeto del inventario de vCenter Server, seleccione Implementar plantilla OVF.
Siga las indicaciones del instalador para implementar una máquina virtual desde el archivo OVA.
NotaSi selecciona el aprovisionamiento grueso como formato de disco, cuando Tanzu Kubernetes Grid cree máquinas virtuales de nodo de clúster a partir de la plantilla, se reservará el tamaño completo del disco de cada nodo. Esto puede consumir almacenamiento rápidamente si implementa muchos clústeres o clústeres con muchos nodos. Sin embargo, si selecciona el aprovisionamiento ligero, al implementar clústeres, esto puede dar una impresión falsa de la cantidad de almacenamiento disponible. Si selecciona el aprovisionamiento ligero, es posible que haya suficiente almacenamiento disponible en el momento de implementar los clústeres, pero el almacenamiento puede agotarse a medida que los clústeres se ejecutan y acumulan datos.
Cuando finalice la implementación de OVA, haga clic con el botón secundario en la máquina virtual y seleccione Plantilla > Convertir a plantilla.
ImportanteNo encienda la máquina virtual antes de convertirla en una plantilla.
En la vista Máquinas virtuales y plantillas, haga clic con el botón secundario en la nueva plantilla, seleccione Añadir permiso y asigne el tkg-user
a la plantilla con la función TKG
.
Para obtener información sobre cómo crear el usuario y la función para Tanzu Kubernetes Grid, consulte la sección Permisos necesarios para la cuenta de vSphere a continuación.
Repita el procedimiento para cada una de las versiones de Kubernetes para las que descargó el archivo OVA.
La cuenta de vCenter Single Sign-On que se proporciona a Tanzu Kubernetes Grid cuando se implementa un clúster de administración debe tener los permisos correctos para realizar las operaciones requeridas en vSphere.
No se recomienda proporcionar una cuenta de administrador de vSphere a Tanzu Kubernetes Grid, ya que esto proporciona a Tanzu Kubernetes Grid permisos mucho mayores de los que necesita. La mejor forma de asignar permisos a Tanzu Kubernetes Grid es crear una función y una cuenta de usuario y, a continuación, conceder a esa cuenta de usuario esa función en objetos de vSphere.
NotaSi va a implementar clústeres de carga de trabajo en vSphere 7 u 8 y vSphere with Tanzu está habilitado, debe establecer el permiso Global > Administrador de nube (Cloud Admin), además de los permisos que se indican a continuación. Si pretende utilizar Velero para realizar copias de seguridad y restaurar clústeres de carga de trabajo, también debe establecer los permisos que aparecen en Credenciales y privilegios para el acceso a VMDK en la guía de programación del kit de desarrollo de discos virtuales.
En el vSphere Client, vaya a Administración > Control de acceso > Funciones y cree una nueva función, por ejemplo, TKG
, con los siguientes permisos.
Objeto de vSphere | Permiso requerido |
---|---|
Cns | Permite búsquedas |
Almacén de datos | Asignar espacio Examinar almacén de datos Operaciones de archivos de bajo nivel |
Global (si utiliza Velero para la copia de seguridad y la restauración) | Deshabilitar métodos Habilitar métodos Licencias |
Red | Asignar red |
Almacenamiento basado en perfiles | Vista de almacenamiento basado en perfiles |
Recurso | Asignar máquina virtual a grupo de recursos |
Sesiones | Mensaje Validar sesión |
Máquina virtual | Cambiar configuración > Agregar disco existente Cambiar configuración > Agregar nuevo disco Cambiar configuración > Agregar o eliminar dispositivo Cambiar configuración > Configuración avanzada Cambiar configuración > Cambiar recuento de CPU Cambiar configuración > Cambiar memoria Cambiar configuración > Cambiar ajustes Cambiar configuración > Configurar dispositivo sin formato Cambiar configuración > Extender disco virtual Cambiar configuración > Modificar configuración del dispositivo Cambiar configuración > Eliminar disco Cambiar configuración Configuración > Alternar seguimiento de cambios de disco* Editar inventario > Crear a partir de existente Editar inventario > Eliminar interacción > Encender interacción > Apagar Aprovisionamiento > Permitir acceso al disco de solo lectura* Aprovisionamiento > Permitir descarga de máquina virtual* Aprovisionamiento > Implementar plantilla Administración de instantáneas > Crear instantánea* Administración de instantáneas > Eliminar instantánea* *Necesario para habilitar el complemento Velero, como se describe en Copia de seguridad y restauración de infraestructura del clúster de carga de trabajo y administración. Puede agregar estos permisos cuando sea necesario más adelante. |
vApp | Importar |
En Administración > Single Sign On > Usuarios y grupos, cree una nueva cuenta de usuario en el dominio adecuado, por ejemplo, tkg-user
.
En las vistas Hosts y clústeres, Máquinas virtuales y plantillas, Almacenamiento y Redes, haga clic con el botón secundario en los objetos que utilizará su implementación de Tanzu Kubernetes Grid, seleccione Añadir permiso y asigne el tkg-user
con la función TKG
a cada objeto.
Configure los tamaños de los nodos del clúster de carga de trabajo y administración en función de la complejidad del clúster y la demanda esperada. Puede establecerlos en small
, medium
, large
, o extra-large
como se define en Tamaños de nodo predefinidos.
Para todos los clústeres de vSphere, configúrelos con las variables de configuración de clúster SIZE
, CONTROLPLANE_SIZE
y WORKER_SIZE
. O para obtener una mayor granularidad, puede utilizar las variables de configuración VSPHERE_*
_DISK_GIB
, _NUM_CPUS
y _MEM_MIB
.
Para los clústeres de administración, el campo Tipo de instancia de la interfaz del instalador también configura los tamaños de máquina virtual del nodo.
Para los clústeres de carga de trabajo de trabajo y administración de trabajo único que ejecutan aplicaciones de muestra, utilice los siguientes tamaños mínimos de máquina virtual:
small
medium
Para que la CLI de Tanzu se conecte a vSphere desde la máquina en la que se ejecuta, debe proporcionar la parte de clave pública de un par de claves SSH para Tanzu Kubernetes Grid cuando implemente el clúster de administración. Si aún no tiene una en la máquina en la que ejecuta la CLI, puede utilizar una herramienta como ssh-keygen
para generar un par de claves.
En la máquina en la que ejecutará la CLI de Tanzu, ejecute el siguiente comando ssh-keygen
.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Cuando se le solicite Enter file in which to save the key (/root/.ssh/id_rsa):
, pulse Entrar para aceptar el valor predeterminado.
Agregue la clave privada al agente SSH que se ejecuta en su máquina e introduzca la contraseña que creó en el paso anterior.
ssh-add ~/.ssh/id_rsa
Abra el archivo .ssh/id_rsa.pub
en un editor de texto para poder copiarlo y pegarlo fácilmente al implementar un clúster de administración.
Si el entorno de vSphere utiliza certificados autofirmados que no son de confianza para autenticar las conexiones, debe comprobar la huella digital del vCenter Server cuando implemente un clúster de administración. Si el entorno de vSphere utiliza certificados de confianza firmados por una entidad de certificación (CA) conocida, no es necesario comprobar la huella digital.
Puede utilizar el visor de certificados del navegador Web para obtener la huella digital de certificado de vSphere.
Para acceder al visor de certificados, haga clic en el icono de Secure (candado) a la izquierda de la dirección Web en el campo URL.
Los siguientes pasos dependen del navegador que utilice. Por ejemplo, en Google Chrome, seleccione Conexión segura > Certificado válido para ver los detalles del certificado, incluida la huella digital.
Registre el valor Huella digital de SHA-1. Si contiene espacios entre cada par hexadecimal, sustituya un carácter :
por cada espacio, por ejemplo, 6D:4A:DC:6C:C4:43:73:BB:DF:9A:32:68:67:56:F9:96:02:08:64:F4
.
Puede usar esta cadena de huella digital para verificarla cuando implementa un clúster de administración desde la interfaz del instalador o proporcionarla a la opción VSPHERE_TLS_THUMBPRINT
opción cuando implementa clústeres desde un archivo de configuración.
Para implementar un clúster de administración que admita IPv6 en un entorno de redes IPv6:
Configure Linux para que acepte anuncios de enrutador para garantizar que la ruta IPv6 predeterminada no se elimine de la tabla de enrutamiento cuando se inicie el servicio de Docker. Para obtener más información, consulte Docker CE elimina la ruta predeterminada de IPv6. sudo sysctl net.ipv6.conf.eth0.accept_ra=2
Cree una regla de enmascaramiento para que el clúster de arranque envíe tráfico saliente desde el clúster de arranque: sudo ip6tables -t nat -A POSTROUTING -s fc00:f853:ccd:e793::/64 ! -o docker0 -j MASQUERADE
Para obtener más información sobre las reglas de enmascaramiento, consulte MASQUERADE.
Implemente el clúster de administración ejecutando tanzu mc create
, como se describe en Implementar clústeres de administración desde un archivo de configuración.
TKG_IP_FAMILY
y otras variables como se describe en Configurar para IPv6.Para implementar clústeres de carga de trabajo y de administración independientes para que se ejecuten en varias zonas de disponibilidad (Availability Zones, AZ) en vSphere, debe:
Cree o identifique uno de los siguientes conjuntos de objetos en vSphere:
Etiquete los objetos para asociarlos a una región y sus AZ en Kubernetes, como se describe en Preparar regiones y AZ en vSphere.
Para las implementaciones de producción, se recomienda enfáticamente habilitar la administración de identidades para sus clústeres:
Si utiliza Tanzu Kubernetes Grid en un entorno con una conexión externa a Internet, una vez que haya configurado la administración de identidades, estará listo para implementar clústeres de administración en vSphere.