All in all, Cloud Foundation 4.0 seems to be a solid version upgrade, with a lot of promise. The tight integration between Cloud Foundation and vSphere with Kubernetes, coupled with the other managementment tools already available from VMware should prove to be a solid foundation (pun intended) for anyone looking to provide both traditional virtualization and container workloads in their on-premises datacenters going forward.
The problem, in my not so humble opinion, with this is that vSphere with Kubernetes is (for now?) only available through Cloud Foundation 4.0. That is a very limiting form factor for delivery, and something that might just slow the adoption rate for it considerably.
To launch this series, we’ll put a spotlight on the Tanzu Kubernetes Grid integration with vSphere 7, newly re-architected with Kubernetes to run both modern container-based and traditional virtual machine-based workloads and delivered exclusively on VCF 4.
By establishing vSphere 7 as a platform that consolidates containers and VMs into a single stack with the development tools and Kubernetes runtime, developers and operators can now collaborate.
The following breakthrough capabilities are available for customers using containers and Kubernetes. Note that the Kubernetes capabilities of vSphere 7 are available only as part of VMware Cloud Foundation 4 with Tanzu.
Turns out, you can not simply set up Kubernetes workloads in a standalone vSphere 7 cluster. While I do understand some of the reasoning behind this, like the dependency on NSX-T to do this properly, it’s also a major stumbling block for potential customers.
Updated: A previous version of this post claimed that vSAN was also a requirement for Kubernetes WDs, and that is not the case. Kubernetes WD's can run on other storage solutions, supported by VCF, and does not require vSAN.
Todays announcement begs the question; Is vSphere 7 the platform that consolidates containers and VMs, or is that platform in reality Cloud Foundation 4.0?
In order to get vSphere with Kubernetes up and running, this is a minimum of seven hosts required. Four for the Management Workload Domain, and a minimum of three hosts for the Kubernetes WD. That’s a tall order that comes with a hefty price tag, if someone wants to dip their toes in the sea of containers.
Of course, customers can still look at PKS as an alternative with a smaller footprint, or even things like NetApp Kubernetes Service, but in my opinion it would be better if existing «standalone» vSphere estates could take on these workloads, without the requirement for a full Cloud Foundation stack powering it. Something like running small Kubernetes-based workloads in a resource pool in vSphere would be very useful, even if it won’t scale indefinitely or even to a production ready state. It’s not like the bits to do are not already there, as vSphere 7 and vCenter 7 supports it in the VCF construct.
If VMware really wants to own this space, and bring containers into the administrative fold of the vSphere Admins (VI Admins), the absolute requirement for Cloud Foundation needs to be relaxed — even if it’s just in a downscaled non-production ready scenario. To get the admins aboard, they need to be able to play. Very few will have the resources to play with this, if the requirements stay as they are.
Hopefully this is something that will get adressed down the road, as not everyone, even though I would like them to be, is a potential Cloud Foundation customer.
Update 12. March 2020
I have received a lot of feedback, both public and private on this post, and many agree that the initial hurdle to get this up and running is indeed steep. That being said, there are alternatives available — also from VMware.
VMware Tanzu Kubernetes Grid can be run in your existing VMware vSphere estate, and this does eliminate the Cloud Foundation requirement to get started. VMware Tanzu Kubernetes Grid can run on vSphere 6.7 and newer, as well as VMware Cloud on AWS and others and might just be the best way forward for non-greenfield deployments. For vSphere 6.5 PKS is the way to go, and there a transition path from PKS to TKG available, as well.
Also note that it seems like the Cloud Foundation requirements might just be relaxed in future releases, and that the deployment method for enabling vSphere with Kubernetes might change down the road. For now, it is what it is, but as always — things are going to change.
Time to get the lab fired up!
Update 02. April 2020
Kit Colbert has published How to Get vSphere with Kubernetes which highlight the reasoning behind this:
Given that multiple components were now needed (ESXi, vCenter, NSX), orchestration was necessary to coordinate lifecycle and health management. SDDC Manager was the perfect fit. As it turns out, vSphere + NSX + SDDC Manager = VMware Cloud Foundation (VCF). And we’ve made the integration with Kubernetes work seamlessly with our recently announced VCF 4.
So there it is. For now, if you want vSphere with Kubernetes, VCF is the way to go.