k8s-on-premiseSupporting
k8s-on-premise bootstraps a multi-node Kubernetes cluster from scratch using kubeadm on Vagrant-provisioned VirtualBox VMs: one control-plane node and two workers, each running containerd as the container runtime. Calico CNI provides pod networking and network policy enforcement. NGINX Ingress Controller handles HTTP/HTTPS routing. Helm manages add-on lifecycle. ArgoCD implements GitOps continuous delivery with declarative sync policies.
Architecture
Cluster topology
control-plane
192.168.56.10worker-1
192.168.56.11worker-2
192.168.56.12Bootstrap sequence — 6 idempotent scripts (set -euo pipefail)
01-prerequisites.sh
Disable swap, configure kernel modules, sysctl
02-container-runtime.sh
Install containerd, configure cgroup driver
03-kubernetes.sh
Install kubeadm, kubelet, kubectl
04-init-master.sh
kubeadm init, configure kubectl, apply Calico
05-join-workers.sh
Generate token, join worker nodes to cluster
06-addons.sh
Install Helm, NGINX Ingress, Metrics Server, ArgoCD
Full kubeadm bootstrap. No shortcuts.
6 scripts. 3 nodes. ArgoCD GitOps sync enabled.
View on GitHub →Ecosystem
Role in the platform
k8s-on-premise is the runtime layer — it proves the platform works below the managed cloud, from raw kubeadm bootstrap to ArgoCD GitOps.
SREAgent checks cluster health, node status and GitOps sync state.
Bare-metal Kubernetes vs managed EKS — the same GitOps patterns at different deployment layers.