BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News VMware’s Project Pacific Integrates Kubernetes with vSphere

VMware’s Project Pacific Integrates Kubernetes with vSphere

This item in japanese

At the recently concluded VMworld conference, VMware announced Project Pacific, a re-architected version of vSphere that embeds the Kubernetes control plane inside it. It aims to enable unified management of containers and virtual machines in vSphere installations. Developers can use Kubernetes declarative syntax to manage VMs, disks and networks. This can be useful for teams that have heterogeneous stacks spanning containers as well as VMs. However, this applies only if their existing apps are on vSphere-managed VMs.

Project Pacific adopts the Kubernetes namespace model so that VM operations and policies can be applied to Kubernetes objects. These include resource allocation, encryption, HA and snapshots. Project Pacific is a "re-architecture of vSphere with Kubernetes as its control plane", says Jared Rosoff, senior director, product management for Workload Management in vSphere.

The two key pieces of the integration -- the Kubernetes agent and the container runtime -- are provided by custom vSphere components. A special kind of Kubernetes cluster called Supervisor runs on a Pacific installation. It uses ESXi, the hypervisor used by vSphere deployments, instead of Linux nodes. The corresponding Kubernetes agent on the ESXi node is called a "Spherelet". The Spherelet is based on the Virtual Kubelet project which is primarily used to link Kubernetes with other services that provide a host platform on which pods can run. Virtual Kubelet was open-sourced by Microsoft and is used by other platforms too.

To spin up containers, ESXi has a container runtime called CRX. Rosoff notes that "the CRX is like a virtual machine that includes a Linux kernel and minimal container runtime inside the guest. But since this Linux kernel is coupled with the hypervisor, we're able to make a number of optimizations to effectively paravirtualized the container." CRX uses a technique called Direct Boot to begin initialization without the usual kernel init and power management steps.

A Pacific installation can thus run two kinds of pods - ESXi native, on the ESXi managed hosts, and pods on the VMs in the supervisor cluster. The latter, called a "guest cluster", is a vanilla Kubernetes cluster. To manage VMs from Kubernetes, the supervisor cluster has an operator. This allows mixing container and VM deployments in the same YAML file. The operator integrates with vSphere’s existing lifecycle management service.

VMware has also integrated the Harbor container registry into vSphere. Harbor was an internal VMware project that was subsequently open sourced. Pacific is currently in technical preview mode.

Rate this Article

Adoption
Style

BT