Saludos amigos, durante este VMworld se han anunciado una infinidad de productos que vamos a ir viendo en diferentes entradas. Hoy os quiero hablar sobre Project Pacific, que ha sido sin duda la gran novedad y la revolución que a todos nos ha impactado más.
¿Qué es Project Pacific?
Project Pacific trae de manera nativa combinados los dos mundos, el de la virtualización de aplicaciones usando máquinas virtuales, y el de contenedores usando como orquestación Kubernetes. Aquí una imagen que define el concepto, donde podemos ver como tenemos nuestro Cluster de ESXi como siempre, Networking, Storage, etc, manejando todo esto tenemos vCenter como de costumbre, con todos los elementos actuales se crea lo que se denomina como Supervisor Kubernetes Cluster, y ya sobre este se definen Native Pods, Kubernetes Cluster, etc.
Para un desarrollador, Project Pacific se parece a un clúster de Kubernetes donde pueden utilizar la sintaxis declarativa de Kubernetes para gestionar recursos en la nube como máquinas virtuales, discos y redes. Para el administrador de IT, Project Pacific se parece a vSphere, pero con la nueva capacidad de gestionar una aplicación completa en lugar de tener que ocuparse siempre de las máquinas virtuales individuales que la componen.
¿Qué es el Supervisor Kubernetes Cluster?

Este tipo de clúster de Kubernetes usa nuestros hosts ESXi como los nodos de trabajo, en lugar de nodos Linux. Esto es posible en Project Pacific con la creación propia de VMware de una versión del Kubelet, también conocido como Spherelet, que funciona directamente en ESXi, tal cual lo hacen los servicios de vSAN.
Aunque la mayoría de las construcciones de Kubernetes siguen siendo las mismas, VMware se ha tomado algunas libertades para garantizar una integración más cercana y eficaz con vSphere. La introducción del Supervisor significa que ahora hay un panel de control nativo de Kubernetes para el SDDC que permite a Kubernetes ejecutarse como servicio, a las VMs como servicio y a todo el ecosistema de otras aplicaciones también como servicio.
¿Qué es el Kubernetes Cluster?
También se refiere VMware a esto como un clúster de Kubernetes Guest, pero en realidad es exactamente lo que el nombre indica, un servicio de clúster de Kubernetes que crea clústeres bajo demanda que son conformes con Kubernetes upstream. Se ejecuta en la parte superior de la capa del Supervisor que hemos visto antes, que también expone las capacidades subyacentes de almacenamiento y redes a través de los plugins CSI y CNI. Echemos un vistazo más de cerca a cómo se ejecuta un clúster de Kubernetes en vSphere Project Pacific usando este servicio.

Este es un diagrama bastante complejo, pero vamos a dividirlo en sus componentes individuales.
Guest Cluster Controller
Cuando un desarrollador solicita un clúster de Kubernetes a través de kubectl, el (1) Guest Cluster Controller crea un clúster de Kubernetes utilizando la configuración especificada por el usuario para los nodos del panel de control y los nodos workers. Esta es una API fácil de usar que proporciona un clúster de Kubernetes con personalizaciones y hace toda la orquestación necesaria con las capas inferiores en vez de realizar nosotros.
Aunque el supervisor usa Kubernetes, no es un grupo de Kubernetes uniforme. Esto es por diseño – tiene la intención de usar kubernetes para mejorar vSphere, en lugar de intentar convertir vSphere en un clon de Kubernetes.
Para cargas de trabajo de propósito general de Kubernetes, podemos utilizar Guest Cluster. Un guest cluster es un clúster de kubernetes que se ejecuta dentro de máquinas virtuales en el Supervisor Cluster. Un Guest Cluster es totalmente compatible con Kubernetes, por lo queVMware garantiza que funcionará con todas nuestras aplicaciones Kubernetes.
Los guest cluster en vSphere utilizan el proyecto de API de clústeres de código abierto para gestionar el ciclo de vida de los clústeres de Kubernetes, que a su vez utiliza el operador de VM para gestionar los VMs que forman un invitado.
Cluster API Controller
El Guest Cluster Controller produce objetos ClusterAPI CRD en el namespace del Supervisor en el que desea crear el cluster Kubernetes. Podemos leer más sobre namespaces y cómo habilitan el multi-tenancy seguro en la entrada anterior en el blog de VMware. Estos objetos CRD son consumidos por el (2) controlador ClusterAPI. ClusterAPI es un proyecto de código abierto que está ganando popularidad en la comunidad de Kubernetes, y administra declarativamente las operaciones del ciclo de vida del clúster de Kubernetes. El operador de ClusterAPI puede crear, eliminar, escalar horizontalmente y realizar actualizaciones de Kubernetes.
VM Controller
ClusterAPI aprovecha el proveedor de vSphere para interactuar directamente con el (3) Operador de VM que activa la creación, entrega y ciclo de vida de las VM en vSphere. El Operador de VM se convierte en el desarrollador que se enfrenta a la API de VM, que permite a los desarrolladores crear VMs utilizando kubectl, y automatizar el ciclo de vida de los servicios y aplicaciones encima de las VMs utilizando el panel de control de Kubernetes.
Vídeos con más información
Os dejo una serie de vídeos para conocer en más detalle esta nueva tecnología que seguramente veremos desplegada en muchos más lugares de los que nos pensamos:
Además de las siguientes sesiones del VMworld US:
- Introducing Project Pacific: Transforming vSphere into the App Platform of the Future (HBI4937BU)
- Project Pacific Technical Overview: Unifying vSphere and Kubernetes (HBI4500BU)
Links interesantes
Os dejo una serie de links muy interesantes al respecto:
- Introducing Project Pacific
- Project Pacific – Technical Overview
- Project Pacific – Namespaces on Kubernetes
- Project Pacific – Infrastructure Self-Service
- 5 things to know about Project Pacific
- Project Pacific – Workload Evolution in vSphere
- VMworld 2019 Review – Project Pacific is a Stroke of Kubernetes Genius… but not without a catch!



[…] amigos, llevamos mucho tiempo escuchando a VMware hablar sobre Kubernetes, primero con Project Pacific, luego con Kubernetes para vSphere y finalmente con […]