Back

Infrastructure ·2026 · Completed

HA Kubernetes cluster on Proxmox

Highly available kubeadm cluster, scalable to N nodes, provisioned with Terraform and bootstrapped with a single command.

Terraform clones N Debian machines from a cloud-init template on Proxmox VE and a single script turns them into a production-shaped Kubernetes cluster.

The control plane sits behind a VIP managed by kube-vip in ARP mode: if a node dies another one takes the IP and the cluster keeps answering, with no external load balancer.

On top of it sit the addons that make a bare-metal cluster actually usable: CNI, LoadBalancer, ingress, metrics and replicated storage.

Highlights

  • Default topology of 3 control-plane + 2 workers, fully parameterised
  • kube-vip for control-plane HA without an external load balancer
  • Calico CNI with NetworkPolicies, MetalLB in L2 mode and ingress-nginx
  • Longhorn as the default StorageClass, replicated across nodes
  • Debian cloud-init template built by the script itself: zero manual steps

Stack

  • Terraform
  • Proxmox VE
  • Kubernetes
  • kubeadm
  • kube-vip
  • Calico
  • MetalLB
  • ingress-nginx
  • Longhorn
  • containerd
  • cloud-init

Private repository — Code available on request

Sections

Actions