Building the Multi-Cluster L7 Load Balancer - Dominic Kim & Shawn Jang, NAVER
Channel: The Linux Foundation
Date: 25/05/2023

Building the Multi-Cluster L7 Load Balancer - Dominic Kim & Shawn Jang, NAVER

An IDC-level failure can result in a catastrophic disaster for a cloud-native application. It is the biggest challenge to make applications resilient to such a global-scale disaster. As organizations are increasingly shifting to multi-cluster Kubernetes environments in multiple IDCs, the need for an L7 load balancer running across numerous clusters and IDCs comes to the fore. Many traditional load balancers have not been designed to work in such an environment; they do not consider multi-clusters or multi-IDCs, and they are not resilient to cluster-level or IDC-level failures. Also, load balancers often need to be programmable with APIs, provisioned dynamically on demand, and horizontally scalable. We have built a dynamically provisioned L7 load balancer in 14 Kubernetes clusters in 5 regions(KR, US-West, US-East, SG, and JP). All functionality of the load balancer can be programmatically controlled using APIs. And it provides a global routing feature based on the locality of clients. In this session, we will share the multi-cluster challenges to build an L7 load balancer that is resilient to an IDC failure, how to design a programmable L7 load balancer in asynchronous Kubernetes environments, and DevOps challenges to manage and maintain data types that are backward-compatible.