The General Availability Announcement of VMware Cloud Foundation 4.0 marks the beginning of an entirely new way to deploy application infrastructure, consolidating VM and container workloads onto a common control plane with consistent infrastructure and consistent operations. This results in better operational efficiencies managing VMs at scale, but also delivers what developers want most – a Kubernetes cloud operating model. In Part 4 of this blog series, we are going to take a closer look at how VCF has implemented vSphere with Kubernetes, showing the workflows between SDDC Manager, vSphere Client and Kubectl commands to build Kubernetes clusters for consistent, reliable services at scale. As referenced in the VCF 4.0 GA release notes, there are some restrictions that are important to understand before getting started. For more information on getting started with VMware Cloud Foundation 4.0, view this blog.
In this blog series, we’ve covered a wide range of topics, illustrating the business benefits of VCF 4.0 and vSphere with Kubernetes by delivering Kubernetes into VCF environments. By understanding the friction that typically gets created when organizations enable container orchestration, you get a better understanding of how to deal with the challenges many organizations face when supporting DevOps and modern developer tools. As shown below, VMware Cloud Foundation and vSphere with Kubernetes have taken these challenges head-on by providing a workflow orchestration that is seamless, providing the IT Operators with the ability to establish the workload domains within SDDC manager, then to create the content libraries, namespaces and harbor deployments to make the infrastructure “Developer Ready”.
Figure 1: VCF vSphere with Kubernetes Workflow
Building IT – DevOps Collaboration
In bridging the gap between IT operators and developers, a collaborative approach Is used when allocating infrastructure. This involves coordinating a set of activities to be performed by the operator in order to allocate infrastructure and prepare vSphere with Kubernetes, followed by a handoff of the Kubernetes environment to the developers who are able to access the environment to deploy native pods and Kubernetes guest clusters. Once the vSphere with Kubernetes environment has been created, the IT operator shares the IP for the (vSphere) Namespace. The developer is now able to download the CLI Tools which they can use to deploy Kubernetes clusters in order to develop their apps within the namespace.
Figure 2: Deploying the Tanzu Kubernetes Cluster
Infrastructure Deployed as Code
Because these tasks are fully automated, they’re performed quickly and without friction in such a way that the developer has full API access without the need for IT tickets or special permissions. This capability allows DevOps teams to independently build infrastructure as code, defining a manifest file in YAML, then creating the Tanzu Kubernetes Cluster using the Kubectl CLI.
The benefit of this is that the developers maintain self-service API access to the tools, Tanzu Runtime and infrastructure services, but the IT operator maintains full control of resource allocation and utilization, environmental boundaries, security isolation and alignment to corporate governance. This collaboration is shown in the figure below, showing the developer YAML files being entered on the right-hand side of the screen with the vCenter view on the left.
Figure 3: Side-by-side view of vCenter and Kubectl commands – Infrastructure being built as code.
Once the cluster has been deployed, the developer can manage the cluster just like any other Kubernetes instance with full access to the upstream compliant Kubernetes environment coupled with all the power of vSphere.
Scaling Cloud Foundation Environments for Kubernetes
There are multiple methods to scaling VMware Cloud Foundation environments for vSphere with Kubernetes. Because VCF automates the underlying activities associated with creating and maintaining infrastructure, the ability to scale Kubernetes clusters and workloads is very straightforward. As your environment grows, VCF makes it very easy to scale up by adding more hosts to an existing vSphere cluster in order to add capacity.
Figure 4: Scaling out VCF environment for vSphere with Kubernetes
Scaling out is also very easy, provided simply by adding more workload domains and clusters, which was highlighted above. In both the scale up and scale out cases, the prescriptive architecture coupled with the advanced automation of SDDC Manager provides a consistent and scalable approach that enables infrastructure and operations teams to be highly responsive and agile with the ability to focus on strategic initiatives.
Learn More About VMware Cloud Foundation 4.0
The ability to deploy large scale container-based development environments is dependent upon close collaboration between the developers and IT. vSphere with Kubernetes enables a platform-agnostic development environment that runs directly on vSphere as part of an enterprise cloud foundation deployment. Running Kubernetes within vSphere leverages the existing knowledge base of IT operations while providing developers a trusted infrastructure on which to develop, build and run their code. VMware Cloud Foundation provides a best-in-class modern hybrid cloud platform for hosting both traditional and modern application workloads. VMware Cloud Foundation provides a standardized and repeatable method for deploying and managing infrastructure that facilitates running Kubernetes at cloud scale. To learn more about VMware Cloud Foundation 4.0, you can go back to the start of this blog series, visit the VMware Cloud Foundation page or the VCF Resource center. https://www.vmware.com/products/cloud-foundation.html. You can also follow VMware Cloud Foundation on Twitter and Linkedin.
VMware Cloud Foundation Documentation
VMware Cloud Foundation Release Notes
VMware Cloud Foundation 4.0 GA Announcement Blog
Getting Started with VMware Cloud Foundation 4.0
VMware Cloud Foundation 4 Available with vSphere with Kubernetes
Automated NSX-T Edge Cluster Deployment
Modern Apps Blog: Consistency Matters Tanzu Application Services – Kubernetes