Setup a vanilla Kubernetes cluster using Kubeadm in AWS with Terraform. This project creates the necessary network, compute resources, and Kubeadm provisioning. This making it perfect for practicing CKA and CKS skills.
- Automated Cluster Provisioning: Utilize Terraform to automate the provisioning of Kubernetes clusters in AWS.This includes dependencies such as containerd, Kubeadm, kubelet, and kubectl.
- Calico CNI: Calico installed as part of cluster Provisioning.
- Kubernetes Certification: Basic Guides and docs tailored for CKA and CKS exam.
-
Make sure AWS credentials are config using aws cli.
-
Clone project
-
Fill with necessary variables in
tfvars
file.
cp terraform.tfvars.sample terraform.tfvars
- Export to use different profile
Export AWS_PROFILE=<profile_name>
- Run the terraform to create aws stack using Make.
make plan
make apply
- Verify cluster components are healthy & then from the master node retrieve the join command to run it on worker nodes
kubectl get --raw='/readyz?verbose'
kubeadm token create --print-join-command --ttl 0
- Verify the nodes are listed with system pods running healthy
kubectl get no
kubectl get po -A
List of available in the docs directory, including setup guides, usage instructions, and troubleshooting tips.