In the last article we talked about container-native storage systems, platforms that incorporate software-defined storage in a Kubernetes cluster to provide persistent storage capacity for container-based workloads running on those same server nodes. These are fine for development groups, but IT organizations need to support virtual machines (VMs) as well, ideally with the same infrastructure. In this article we’ll look at vSphere 7, the latest release of VMware’s industry-standard hypervisor, which now supports Kubernetes.
Containers are an obvious choice for developers as software architectures evolve from large, “monolithic” programs to a set of smaller microservices, each designed for a specific function. While development groups are adopting containers, IT organizations are seeing the need to provide Kubernetes environments that can be managed by users in a self-service model. Of course, IT still needs to maintain its current VM-based infrastructure as well. This is the situation that vSphere 7 with Kubernetes is designed to address.
vSphere 7 With Kubernetes
vSphere 7 is a major release from VMware that incorporates Kubernetes into the company’s bare-metal hypervisor, ESXi, creating a hybrid node that can run both VMs and containers. The concept is to provide a way to support both containers and virtual machines in the same environment, sharing the same resources and all managed through VMware’s vCenter management software.
Kubernetes is a container orchestration platform that’s composed of server nodes in a clustered architecture. Worker nodes support pods, each containing multiple containers, managed by a control plane that (typically) consists of three or more master nodes. The Kubernetes open source spec defines how these nodes communicate with one another, how they manage containers, how they provision storage and networking resources, etc. There are many Kubernetes distributions, most of which are "upstream" compliant with current Kubernetes source code. VMware's compliant Kubernetes is called Tanzu Kubernetes Grid (TKG), from technology formerly known as VMware Enterprise PKS.
Most Kubernetes clusters run on a Linux server, bare-metal or as a standard VM. VMware puts each TKG node into its own VM in a special vSphere cluster, called a Supervisor Cluster. vSphere 7 also supports container-based workloads directly in vSphere Pods, non-compliant Kubernetes nodes that run in their own VMs on the Supervisor Cluster. These nodes have some additional software that enables them to run container workloads with some of the benefits afforded VMs, such as security and isolation. Finally, the Supervisor Cluster can also support traditional VMs.
VMware Cloud Foundation
vSphere 7 is currently available only as part of VMware Cloud Foundation (VCF) 4. VCF is a bundle of VMware products that includes vSphere, vSAN, NSX network virtualization and vRealize Suite for cloud management. VCF provides a software-defined foundation for a hybrid cloud that can migrate and run applications on-premises or in the public cloud without rewriting them.
Why vSphere 7?
Kubernetes adoption is increasing in the enterprise, as software development moves toward a microservices architecture and cloud-native development. The fact that containers are open source is part of this appeal. For IT organizations that have virtualized most of their compute infrastructure, mostly with vSphere, this evolution presents a challenge. How do they support containers and VMs without creating separate silos for each of these technologies?
VMware’s answer is vSphere 7 with Kubernetes. This platform can run traditional VMs and containers directly on the vSphere cluster, and it can support fully compliant Kubernetes clusters with TKG. In fact, TKG clusters can be provisioned and administered directly by the developers using them, with overall management by IT through VMware vCenter. According to VMware, vSphere 7 solves two issues facing IT: how to support containers in the development environment and how to support container-based applications as they transition into production. For more information, see Evaluator Group’s Technical Insight “VMware vSphere 7 with Kubernetes.”
The intersection of virtual machines and containers will be disruptive for IT organizations in companies of all sizes. VMware, the predominant hypervisor vendor, is offering a way to minimize this disruption. But it’s not the only option. Other vendors – including IBM/Red Hat OpenShift and Nutanix AHV with Karbon – are offering (or have announced) combined Kubernetes and hypervisor solutions. You’ll be reading more about those offerings in time.