Set Up a Three-Node Kubernetes Cluster on AWS with kubeadm and Terraform
I have always wanted a Kubernetes cluster of my own. Tools such as Minikube and Kind are excellent for learning, but they run a cluster locally. I wanted to practice with multiple virtual machines, with one control-plane node and two workers, in an environment that feels a little closer to a real cluster.
VirtualBox is one option, but not every computer has enough spare memory and CPU to run several virtual machines comfortably. A cloud provider such as AWS lets us create those machines on demand. The downside is that manually recreating the network, instances, and Kubernetes setup each time takes effort and leaves room for mistakes.
To make that easier, I put together a Terraform configuration that provisions
the AWS infrastructure and bootstraps Kubernetes with kubeadm. The goal is
to make a repeatable learning environment that is quick to create and easy to
destroy—not a production-ready cluster.
The Terraform code is in sarat532/tf-ec2-k8s-cluster.
