HA K3s With kube-vip and MetalLB

Share on:

High availability Kubernetes is easy to get wrong because you need so many different layers to be HA. The control plane. The data plane. The load balancer. If you’re using K3s in a place where you don’t have lots of nodes, like a homelab or an edge environment, you want to get the most out of nodes without adding in complex solutions like keepalived, VRRP, or external load balancers.

This video will use kube-vip for load balancing the Kubernetes control plane, MetalLB for load balancing Kubernetes services, the embedded etcd for an HA Kubernetes datastore, all for giving Rancher a secure place to run.

There are some surprises that we’ll work around, like incorrect documentation and tolerations that don’t work with taints. These are just part of being a Kubernetes administrator, so grab your Terminal session and let’s build a K3s cluster in just a few minutes.

Why Not Use kube-vip For Everything?

I first tried to use the plndr provider and kube-vip for announcing service addresses, but it didn’t work. I opened issues with details, and @thebsdbox fixed them just as this video came out. I’ll have an updated video soon!