Overview¶
setup-k8s installs and operates kubeadm-based Kubernetes clusters with a single shell entrypoint.
It supports local single-node setup, manual node joins, SSH-driven multi-node deployment, and HA control planes with kube-vip.
What you can do¶
- Initialize a kubeadm control-plane node.
- Join worker and additional control-plane nodes.
- Deploy a full cluster from one orchestrator host over SSH.
- Use containerd or CRI-O.
- Select kube-proxy mode: iptables, IPVS, or nftables.
- Configure IPv4, IPv6, or dual-stack networking.
- Run preflight checks before changing nodes.
- Upgrade clusters, renew certificates, back up etcd, restore etcd, and clean up nodes.
Entry point¶
Use the repository script directly:
curl -fsSL https://github.com/MuNeNiCK/setup-k8s/raw/main/setup-k8s.sh | sudo sh -s -- init
For multi-node operations, run without sudo on the orchestrator and let the script use SSH to reach the nodes:
curl -fsSL https://github.com/MuNeNiCK/setup-k8s/raw/main/setup-k8s.sh | sh -s -- \
deploy \
--control-planes root@192.168.1.10 \
--workers root@192.168.1.11,root@192.168.1.12
Next step¶
Start with Quick Start, then use Installation for local node flows or Remote Deploy for SSH orchestration.