VMware chose HAProxy as the default load balancer for Tanzu Kubernetes clusters, which helped streamline load balancing in their Kubernetes platform.
VMware has delivered vSphere 7 with Tanzu, its endeavor to embed an enterprise-grade version of Kubernetes inside vSphere, the industry-leading compute virtualization platform. The release of vSphere 7 Update 1 allows VMware customers to modernize their apps and accelerate development by leveraging containers and Kubernetes while keeping the ability to run VMs on the same platform. The impact could be extensive, considering the 70 million-plus workloads running on vSphere today, with the potential to simplify the adoption of Kubernetes for thousands of companies.
As a part of this effort, VMware has partnered with HAProxy Technologies to integrate the HAProxy load balancer into vSphere with Tanzu Kubernetes as the first open-source load balancer available to its customers, who will be able to use it to route external traffic to their Kubernetes pods. The team at VMware found that their time to market could be fast-tracked by leaning on the simplicity of HAProxy and its Data Plane API for dynamic load balancer configuration. They collaborated with the HAProxy Technologies engineers to realize this combined vision.
HAProxy Technologies will offer a path for users to upgrade to HAProxy Enterprise to take advantage of its additional administration and security components, as well as its support and professional services. This gives users of vSphere the assurance that the load balancing solution is supported fully.
The HAProxy Data Plane API allows HAProxy to be configured using a modern REST API. Since its release with HAProxy version 2.0, the Data Plane API has proved to be a key driver for vendors looking for a way to integrate a high-performance load balancer into their platforms, but without the extreme complexity found in other load balancer APIs. Version 2.1 of the Data Plane API was released this past July, enabling even more of HAProxy’s features.
The implementation within vSphere uses some of the state-of-the-art advances that are just now surfacing in the Kubernetes space: The way that traffic is routed into a cluster is being overhauled by the Kubernetes maintainers; A new object called a GatewayClass will define a type of load balancer, such as HAProxy. Then, one or more Gateway objects can be instantiated to create instances of that type of load balancer. This layer of abstraction will allow vSphere to support many different load balancers in the long run, while exposing a simple API to customers. The VMware developers found it easiest to get started with HAProxy.
To begin using HAProxy on vSphere 7, follow the documentation found on the project’s GitHub page. The load balancer is deployed as a virtual machine OVA, making it immediately available within the vSphere ecosystem. Once installed, users can configure it through the vSphere user interface to connect it to their Kubernetes cluster. Then, cluster operators can define Gateway, Route, and Service objects in YAML to hook up Kubernetes services to the load balancer. For people looking for advanced security and administration features, they will have the option of upgrading to HAProxy Enterprise, which includes technical support.