(05) Course project · Infrastructure III · Mar 2026
Kubernetes Cluster: Automated Provisioning with Ansible
A kubeadm Kubernetes cluster provisioned end to end on KVM with idempotent Ansible playbooks and a DNS/DHCP bastion. Zero configuration drift on repeated runs.
The project
End-to-end provisioning of a Kubernetes 1.32 cluster (control plane and worker) on KVM/QEMU virtual machines running Rocky Linux 9, with Ansible as the only configuration tool and a bastion serving BIND9 DNS and DHCP.
Flannel VXLAN overlay networking, firewalld rules and kube-proxy iptables make cross-node pod traffic work; NodePort exposure and CoreDNS service discovery were validated. A GitHub Actions pipeline lints and syntax-checks every playbook on every commit.
Highlights
- 01Idempotent playbooks, zero drift across repeated runs
- 02Kubernetes 1.32 with kubeadm, Flannel VXLAN and containerd
- 03BIND9 and DHCP bastion for the lab network
- 04Ansible lint and syntax validation in CI