I built this production Kubernetes cluster for a 5-week research internship: 2-node RKE2 setup on AWS EC2 with Rancher management, a containerized Python quotes app that flows through GitHub → Docker Hub → Kubernetes deployment, all orchestrated with kubectl and monitored via Rancher dashboard.
From "what's a pod?" to running production Kubernetes in 5 weeks of hands-on learning.
This 5-week research internship project showcases the end-to-end implementation of a production-ready Kubernetes cluster on AWS. Starting with AWS Cloud Practitioner foundations, the journey culminates in a fully functional container orchestration platform running a custom Python application.
AWS Services: EC2 (Ubuntu compute instances), Security Groups (virtual firewall), Elastic IP (static addressing).
Container Technologies: Docker (containerization), Kubernetes (orchestration), RKE2 (Rancher Kubernetes Engine), kubectl (cluster management).
Management Tools: Rancher (cluster dashboard & monitoring), Helm (package manager), systemd (service management).
Development Stack: Python (quotes application), VSCode (IDE), GitHub (source control), Docker Hub (container registry).
Infrastructure Foundation
2-node RKE2 cluster (server + agent) on AWS EC2
Ubuntu instances with pre-configured security groups
Elastic IP addresses and DNS routing
Production-grade networking and accessibility
Container Orchestration Stack
Kubernetes with RKE2 (Rancher Kubernetes Engine 2)
Rancher management interface via Helm charts
Docker containerization with automated builds
YAML manifest-driven deployments
Week 1: AWS infrastructure establishment with EC2 instances, SSH configuration, and security group setup.
Week 2-3: RKE2 cluster deployment including systematic troubleshooting of configuration challenges, particularly IP address mapping issues during agent registration.
Week 4: Parallel implementation of Rancher installation and Python application development, creating a quotes API with proper dependency management.
Week 5: Complete pipeline integration with Docker containerization, registry deployment, and production Kubernetes deployment.
Cluster Nodes
2
Container Images
1
Pods Running
1
Production Status
☑️
The final deployment achieved a fully functional containerized Python application running as a Kubernetes pod with automatic restart capabilities and scaling potential. The application successfully fetches and displays quotes through a RESTful API interface.
Key Learning Outcomes
Production Readiness: Created reproducible, scalable infrastructure deployable via industry-standard tools and practices.
Problem-Solving Mastery: Developed systematic debugging approaches for complex distributed systems challenges.
Enterprise Skills: Implemented proper Git workflows, Docker image management, and Kubernetes deployment strategies used in production environments.
Real-World Applications
This project bridges the critical gap between cloud certification theory and practical implementation skills. The resulting infrastructure demonstrates proficiency in modern DevOps practices, container orchestration, and cloud-native application deployment—directly applicable to enterprise software development environments.
Outcome: A fully functional, monitored, and scalable Kubernetes deployment that showcases real-world cloud engineering capabilities.