Cloud-Native TaskApp Deployment

Production Kubernetes on AWS — DevOps Capstone Project

Kubernetes v1.28 Terraform v1.9.8 Kops v1.28.4 Docker v29.1 Helm v3.20 In Progress

Project Overview

Migrating a containerized TaskApp (React frontend, Flask backend, PostgreSQL) from local Minikube to production-grade AWS infrastructure using Kops for Kubernetes cluster management and Terraform for Infrastructure as Code. Features high availability across 3 AWS Availability Zones, automated SSL/TLS, and zero single points of failure.

Build Progress

Phase 1 — Environment Setup

Ubuntu WSL2 configured
AWS CLI v2.34 installed
Terraform v1.9.8 installed
kubectl v1.28.8 installed
Kops v1.28.4 installed
Helm v3.20 installed
Docker v29.1 installed
Minikube v1.38 installed
kubeseal v0.26 installed
GitHub SSH connected
Repo structure created

Phase 2 — AWS Infrastructure

IAM users setup
Terraform VPC module
Terraform IAM module
Terraform DNS module
S3 remote state backend
Route53 hosted zone
terraform validate
terraform plan

Phase 3 — Kubernetes Cluster

Kops cluster spec
Multi-master config 3 AZ
Private topology
Calico CNI configured
EBS CSI driver
etcd backups to S3
kops validate cluster

Phase 4 — Application

PostgreSQL + PVC
Flask backend deployed
React frontend deployed
Sealed Secrets
NGINX Ingress
cert-manager SSL
Live HTTPS URL

Phase 5 — Security

Network policies
IAM least privilege
Private subnet topology
No secrets in Git
HA failover tested
Pod security contexts

Phase 6 — Documentation

architecture.md
runbook.md
cost-analysis.md
README.md complete
GitHub Actions CI pipeline
Demo video recorded

Architecture

Internet | +-- Route53 (ayodave.is-a.dev --> NLB) | +-- AWS NLB + NGINX Ingress (HTTPS:443) | +-- VPC 10.0.0.0/16 | +-- Public Subnets x3 AZ | +-- NAT Gateways (one per AZ) | +-- Private Subnets x3 AZ | +-- K8s Masters x3 (one per AZ) +-- K8s Workers x3 (one per AZ) | +-- Frontend (React, 2+ replicas) +-- Backend (Flask, 2+ replicas) +-- PostgreSQL (EBS PersistentVolume)

Tech Stack

AWS
Terraform
Kubernetes
Kops
Helm
Docker
cert-manager
NGINX
Sealed Secrets
PostgreSQL
React
Flask

Repository

Infrastructure as Code repository containing Terraform modules, Kops cluster specifications, Kubernetes manifests, and full documentation.