Saludos amigos, llevamos mucho tiempo escuchando a VMware hablar sobre Kubernetes, primero con Project Pacific, luego con Kubernetes para vSphere y finalmente con Tanzu.
Durante este VMworld, del que todavía os tengo pendientes muchos posts, VMware añadía opciones nuevas a Tanzu, con el lanzamiento de Tanzu Basic, Tanzu Standard. Vamos a conocer un poquito más sobre estas dos versiones.
- Tanzu Basic. Algunas empresas comenzaron su viaje nativo a la nube con cargas de trabajo simples, en contenedores y listos para usar (COTS). Si queremos ejecutar cargas de trabajo COTS en las instalaciones como parte de nuestro camino en vSphere, Tanzu Basic es la edición más asequible y accesible. No hay necesidad de invertir en una plataforma de contenedores de peso pesado; Tanzu Basic ofrece la gestión de contenedores más limpia basada en Kubernetes en vSphere, punto. También transforma vSphere al permitirnos ejecutar las máquinas virtuales y los contenedores codo con codo, a la vez que proporciona a los desarrolladores un acceso de autoservicio a los recursos a través de las API de Kubernetes. Tanzu Basic puede licenciarse como un paquete con vSphere 7 Ent+ o como un complemento para ser desplegado en vSphere 6.7u3.
- Tanzu Standard. Algunas organizaciones habrán empezado con las mismas cargas de trabajo COTS, pero necesitan gestionar esas nuevas cargas de trabajo a escala en la nube pública o a través de múltiples nubes. Tanzu Standard ofrece la misma y consistente distribución de Kubernetes para desplegar a través de entornos (en las instalaciones, nubes públicas y borde) y un plano de control global para la gestión centralizada. Todo ello está habilitado por un motor de políticas que cubre la gestión de accesos, las copias de seguridad y mucho más para clusters individuales de Kubernetes y grupos de clusters a través de los entornos. Esto significa que el operador puede establecer barandillas claras pero proporcionar a los desarrolladores un acceso fácil a los espacios de trabajo de los Kubernetes donde pueden construir sin problemas. También hemos incluido la supervisión a través del apoyo a Prometeo y Grafana. Tanzu Standard puede licenciarse como un paquete con VMware Cloud Foundation o como un complemento para ser desplegado en vSphere 7, 6.7u3, nubes públicas y/o en el borde.
Tenemos luego Tanzu Advanced y Enterprise, pero no voy a cubrirlas en este blog por ahora.
VMware: Primer vistazo y cómo desplegar VMware Tanzu Basic sobre VMware vSphere en vídeo
Os dejo el paso a paso sobre cómo desplegar Tanzu Basic, sobre VMware vSphere 7.0 Update 1, con muchos consejos, detalles y comentarios. Espero que os guste y os sirva este vídeo:
VMware: Primer vistazo y cómo desplegar VMware Tanzu Basic sobre VMware vSphere en imágenes
Vamos a ver el paso a paso en cómodas imágenes, hay muchas capturas de pantalla, con lo que espero que os sea interesante y compartáis este artículo, que ha llevado muchas horas crear.
Content Libraries
Necesitamos dos Content Libraries en nuestro entorno de VMware, una con la OVa de HAProxy y otra con las imágenes de photonOS con las que crearemos toda la infraestructura de Kubernetes, que son además las que podremos usar luego para crear Contenedores, aquí están las dos URL:
- Content Libary para Tanzu Kubernetes Clusters – https://wp-content.vmware.com/v2/latest/lib.json
- Content Library para HAProxy – Descargaremos la OVA desde aquí y la meteremos a nuestra Content Library
Os debería quedar algo tal que así:
Networking, paciencia y preparativos
VMware Tanzu Basic tiene unos requerimientos de red bastante agresivos, podemos lanzarlo con solamente dos redes, la de Management y Workers, pero también incluye una parte adicional como Frontend, e incluso un rango privado para la comunicación entre contenedores en caso de que sea necesario. Os dejo un diagrama aquí:
Podemos jugar mucho con los rangos, y ajustarlos para que no sean gigantes, por ejemplo, en mi caso he querido jugar con:
- MANAGEMENT NETWORK – 192.168.1.0/24
- Supervisor Cluster IP 1 -192.168.1.200
- Supervisor Cluster IP 2 -192.168.1.201
- Supervisor Cluster IP 3 -192.168.1.202
- HA Load Balancer IP 1 – 192.168.1.195
- GW – 192.168.1.254
- WORKLOAD NETWORK
- Cluster Node Range – 192.168.150.0/25 O lo que es lo mismo con IPs útiles 192.168.150.1-192.168.150.126
- Virtual IP Range – 192.168.150.224/28 O lo que es lo mismo con IPs útiles 192.168.150.225-192.168.150.238
- HA Load Balancer IP 2 – 192.168.150.195
- GW – 192.168.1.254
No estoy usando Frontend, ya que no me hace falta, pero bueno, espero que pilleís la idea del networking, etc.
El tráfico tiene que estar enrutado entre ambas redes, con lo que tengo un pfsense en esa .254, y no pueden estar en el mismo dominio de broadcast.
Despliegue de HAProxy
Fantástico, ahora que tenemos nuestra Content Library con la imagen del HAProxy, nos iremos hasta ella, y haremos botón derecho New VM:
Introduciremos un nombre para esta VM, y una carpeta donde queremos que se guarde:
Introduciremos también donde queremos que esta VM se ejecute, en mi caso he seleccionado mi clúster principal:
Veremos ahora una breve ventana con algunos detalles básicos:
Aceptaremos la EULA una vez leída y haremos click en Next:
Ha llegado el momento de seleccionar si queremos que el despliegue se hace con dos tarjetas de red o con tres, seleccionaremos Default:
También seleccionaremos el storage donde queremos que se guarde la VM, en mi caso mi VSAN:
Como veis, tengo dos PortGroups, para Management selecciono el que se llama MGM, y para Workload y Frontend, el que se llama WRK:
Vamos con la configuración de HAProxy, comenzamos con lo básico, password para root, y marcar que queremos que podamos conectarnos por SSH como root:
Seguiremos con la configuración de Networking, comenzaremos con el hostname aunque no sale en la foto, seguiremos con el DNS, la configuración de Red en la parte de Management, y la configuración de Red para la parte de Workload:
Nos pasamos a la parte de Load Balancing, introduciremos el rango de red que os he dejado más arriba, y recordarlo porque lo usaremos más adelante, además crearemos un usuario y una password:
¡Ya tenemos todo! No ha sido tan difícil, ¿verdad? Haremos click en Finish:
Un test rápido, es conectarnos por SSH, o por la consola de VMware, y lanzar ping a las dos puertas de enlace:
Vamos al siguiente paso 🙂
Habilitar la demo de 60 días de Tanzu Basic (Workload Management)
Una de las grandísimas novedades de vSphere 7.0 Update 1, es que Tanzu Basic ya viene integrado con el producto, es tan sencillo como irnos a Workload Management:
Introduciremos nuestros detalles, y haremos click en Get Started:
Ya tenemos todo preparado, vamos al siguiente paso.
Configurar Tanzu Basic creando nuestro clúster
Bueno, ya nos queda poco, ¿cómo vamos? Podemos tomarnos un respiro antes de comenzar este paso.
Haremos click en Get Started para comenzar a desplegar Tanzu Basic:
Seleccionaremos el modo de vCenter Server Network:
Seleccionaremos el clúster donde queremos desplegar Tanzu Basic:
El tamaño de las Control Plane, en mi caso he seleccionado Small, pero claro, depende de cuantos Namespaces y containers queremos crear:
Seleccionaremos el almacenamiento que queremos utilizar para las VMs de Control Plane:
Atentos a este paso, seleccionaremos el nombre del HAProxy, la IP con el puerto que hemos seleccionado anteriormente, con el usuario y password que introducimos, y el rango que introducimos anteriormente, pero ahora con los Hosts, osea sin la IP de Red ni la de broadcast:
Para conseguir el certificado, tendremos que hacer SSH, y ver el contenido de /etc/haproxy/ca.crt
Lo pegamos aquí y hacemos click en siguiente:
En la parte de Management Network, nada complicado, introducimos al PortGroup de MGM, la IP desde donde empezarán las SupervisorVM, Gateway, NTP, etc.
Esta parte de Workload hay que prestar atención, el rango privado no lo tocaremos si no queremos, como DNS seleccionaremos el nuestro, y haremos click en Add:
Aquí hay que tener en cuenta seleccionar un nombre, el PortGroup de WKR, y los rangos de red donde queremos que se desplieguen los ControlVM en esta red, si tenéis dudas con el rango, os lo he dejado todo más arriba:
Seleccionaremos la Content Library con las imágenes de Tanzu, la hemos creado al principio:
Ya tenemos todo, haremos click en Finish:
Este proceso comenzará, crea unas VMs, instala agentes en los ESXi, y hace muchos cambios a nivel de clúster, este proceso tarda sus largos 30-45 minutos:
Y ya después de ese largo proceso, veremos al final nuestra IP del Control Plane: 
Crear un Namespace y comprobar que todo funciona
Última parte de este tutorial, nos iremos a Namespaces, y le daremos a crear namespace:
Seleccionaremos el clúster donde queremos lanzarlo, así como el nombre y le daremos a create:
En pocos segundos, ya veremos nuestro namespace, le daremos un Storage y permissions en caso de que queramos usar otro usuario que no sea el [email protected]:
Si nos vamos a la IP de Control Plane, que vimos anteriormente al terminar la creación del clúster, veremos ésta fantástica landing page, donde tendremos que descargar el paquete y ponerlo en una carpeta, en mi caso en C:/bin
Una vez me conecto, podemos lanzar varios comandos para ver que todo está bien, el resultado es el siguiente: 
./kubectl-vsphere.exe login --insecure-skip-tls-verify --vsphere-username \ [email protected] --server=https://192.168.150.200 ./kubectl.exe config use-context jorgedelacruz-ns-001 ./kubectl.exe get nodes ./kubectl.exe get sc ./kubectl.exe get virtualmachineimages
Crearemos un clúster, tengo una receta muy básica, la dejo a continuación:
apiVersion: run.tanzu.vmware.com/v1alpha1
kind: TanzuKubernetesCluster
metadata:
name: tkg-cluster-01
namespace: jorge-ns-01
spec:
topology:
controlPlane:
count: 3
class: guaranteed-small
storageClass: vsan-default-storage-policy
workers:
count: 3
class: guaranteed-small
storageClass: vsan-default-storage-policy
distribution:
version: v1.17.8+vmware.1-tkg.1.5417466
Una vez que creamos nuestro clúster, veremos desde nuestro vSphere Client ya el namespace, el clúster, las VMs, Containers, etc:
Eso es todo amigos, tengo varios links que os quiero dejar para comenzar con todo esto de Tanzu.
Enlaces Interesantes
Sin la ayuda de estos artículos, nada de esto habría sido posible:
- vSphere with Tanzu Quick Guide – https://core.vmware.com/sites/default/files/associated-content/vSphere%20with%20Tanzu%20Quick%20Start%20Guide%207.0%20Update%201.pdf
- Blog Series de Cormach Hogan
- https://cormachogan.com/2020/09/24/getting-started-with-vsphere-with-tanzu/
- https://cormachogan.com/2020/09/25/deploy-ha-proxy-for-vsphere-with-tanzu/
- https://cormachogan.com/2020/09/28/enabling-vsphere-with-tanzu-using-ha-proxy/
- https://cormachogan.com/2020/09/29/deploying-tanzu-kubernetes-guest-cluster-in-vsphere-with-tanzu/
- Deep Dive Video Series – https://www.youtube.com/watch?v=uSGujnlYpVc&list=PLymLY4xJSThpIfzKDLIMtRlf-butzn-Yq&ab_channel=VMwarevSphere
- William Lam Automated Deployment Script – https://www.virtuallyghetto.com/2020/10/automated-vsphere-with-tanzu-lab-deployment-script.html
- Blog Series de Viktor van den Berg




Jorge, como estas? Estuvie viendo tu video de como implementar Tanzu Basic y realmente esta muy bien explicado, pero queria dejarte una consulta respecto a la licencia a ver si me podes ayudar en esto. Nosotros, hablo de la empresa donde trabajo, tenemos licenca de vSphere Enterprise Plus, aun estamos en la version 6.7 U3, pero la consulta que te queria hacer es si la licencia de Tanzu Basic, esta INCLUIDA en la de vSphere Enterprise Plus, o es necesario adquirirla es decir comprarla? Esta es la primer consulta, la segunda es preguntarte como se licencia Tanzu Basic, si es por socket o cantidad de VMs, muchisimas gracias, quedaré a la espera de tus comentario. Saludos.
Pablo Rodriguez
Saludos,
Tanzu Basic viene con una trial, lo cual es perfecto para probar que todo funciona bien. Para comprarlo, porque se licencia aparte, es por CPU, y el precio aqui – https://store-us.vmware.com/vmware-tanzu-basic-per-cpu-5471172000.html Un saludo
Hola buenas, te queria preguntar como hacer para poder desplegar una aplicacion en tanzu, si me podrias ayudar genial.