Brussels / 3 & 4 February 2024


k8gb meets Cluster API


k8gb is a Kubernetes native load balancing solution that enables arbitrary workloads to run in a disaster recovery mode as well as in the round robin fashion. It assumes geographically dispersed availability zones aka failure domains.

Luckily, there is another open-source standard that can help with setting up such Kuberneres clusters. Cluster API is a standard that unifies Kubernetes cluster lifecycle and day-2 operations across multiple cloud providers.

In this talk we will be talking about an open-source way to fully automated K8s clusters that can host workloads that can survive any failure, using pure DNS as the underlying tool for switching the communication among available Kubernetes clusters. No single vendor lock-in. Workloads can be deployed in AWS, Azure, GCP, on-prem. The only common denominators are Kubernetes and Cluster-API.

k8gb is DNS based global service load balancer that can interconnect multiple Kubernetes clusters into one resilient system. Join this talk to learn how it can handle a failover scenario when pods in one cluster go down and second cluster in different location saves the day.

k8gb is an open-source Kubernetes operator that is deployed in each participating cluster. It is comprised of CoreDNS, ExternalDNS and the k8gb controller itself. Using ExternalDNS it can create a zone delegation on a common cloud DNS server like Route53 or Infoblox so that the embedded CoreDNS servers work as an authoritative DNS. K8gb controller makes sure these CoreDNS servers are updated accordingly based on the readiness probes of the application.

In this sense this solution is unique, because it is using Kubernetes native tools with customisable probes and battle tested DNS protocol instead of HTTP pings or other similar approaches where single point of failure might be a problem. In k8gb architecture all k8s clusters are equal and there is no SPoF except the common edge DNS server.

Cluster API

Cluster API is an umbrella standard for multiple cloud providers that can easily create new clusters using Kubernetes patterns such as controllers and custom resources. Together with k8gb it provides very nice synergy to the k8s ecosystem and also enables deploying stuff into those newly created clusters because of its hierarchical nature (parent as a management cluster & child as the workload cluster).

So at the end of day we have two paradigms - k8gb representing the p2p decentralized solution while Cluster API representing the centralized architecture with single management cluster (SPoF). Believe it or not but these two above-mentioned paradigms complete each other and work together in synergy.

Come to this talk and you will learn more about this setup.


Photo of Jiri Kremser Jiri Kremser