Automated Kubernetes deployments on Amazon EKS using Ansible, demonstrating infrastructure-as-code and cloud-native automation workflows.
This project showcases an end-to-end Kubernetes automation setup:
- Provisioned an EKS cluster using Terraform
- Configured Ansible for local and remote execution
- Deployed a Kubernetes namespace (
my-app) via playbooks - Verified cluster connectivity and deployment using
kubectl - Deployed an NGINX application to the cluster
- Created EKS cluster using Terraform
- Configured networking and cluster access
- Set up inventory for local and remote hosts
- Enabled Ansible to interact with Kubernetes cluster
- Executed Ansible playbook to create namespace (
my-app) - Applied Kubernetes resources to cluster
- Verified namespace creation using
kubectl - Confirmed application deployment (NGINX)
- AWS EKS (Managed Kubernetes)
- Terraform (Infrastructure as Code)
- Ansible (Automation & Orchestration)
- kubectl (Kubernetes CLI)
- DigitalOcean (Optional test hosts)
- Writing Ansible playbooks for Kubernetes resources
- Managing kubeconfig and EKS cluster access
- Automating Kubernetes deployments
- Understanding cloud networking and API access patterns
- Integrating Terraform and Ansible workflows
- EKS connectivity issues → Resolved private vs public API endpoint access
- SSH host key verification → Managed known_hosts for remote connections
- YAML parsing errors → Fixed formatting issues in Ansible playbooks
- ✔ Automated creation of Kubernetes namespace (
my-app) - ✔ Verified deployment directly in EKS cluster
- ✔ Successfully deployed NGINX application
- ✔ Established repeatable Kubernetes deployment workflow
This project demonstrates how to automate Kubernetes deployments using Ansible on top of Terraform-provisioned infrastructure. It highlights real-world challenges in cluster connectivity, configuration management, and YAML-based automation—while reinforcing best practices for reliable cloud-native deployments.
Step 1: Create Kubernetes Cluster using Terraform

Step 3: Verification of Cluster in AWS Console

Step 5: Check Cluster over Terminal

Step 6: Check K8 Namespace over Terminal






