Hands-on project · AWS · GitOps
Kubernetes in Production
Deploy a microservices application to production-grade Kubernetes on AWS — from local clusters and observability through GitOps, progressive delivery, zero-downtime upgrades, and AI-assisted troubleshooting.
Prerequisites
Not a zero-to-Kubernetes course.
You already ship code. This project takes you from "I can kubectl apply" to running a real microservices stack on EKS with GitOps, progressive delivery, and production hardening.
- ✓Working knowledge of at least one backend language (Node.js, Java, Python, or C#) and comfortable Git workflows.
- ✓Docker fundamentals — images, containers, Dockerfiles, multi-stage builds.
- ✓Kubernetes basics — pods, deployments, services, namespaces, kubectl.
- ✓AWS account with programmatic access and a GitHub account for Actions workflows.
- ✓Cursor IDE with an active subscription (used for AI-assisted troubleshooting in the final section).
What you'll build
Pretzel Shop — four backends, one production pipeline.
A full microservices stack (Node.js, Java, Python, .NET) with PostgreSQL, Redis, and a React frontend — deployed end-to-end on real infrastructure.
-
Amazon EKS
Production cluster provisioned with Terraform — VPC, RDS, ElastiCache, ECR.
-
kind
Multi-node local clusters from day one — real scheduler, not Docker Compose shortcuts.
-
Gateway API
Envoy Gateway with path-based routing — single /api entry point for all backends.
-
ArgoCD
GitOps as the single deployment mechanism — Git is the source of truth.
-
Argo Rollouts
Blue/green deployments with automated analysis and instant rollback.
-
External Secrets Operator
AWS Secrets Manager synced into the cluster — nothing sensitive in Git.
-
k6
Load tests during rollouts and cluster upgrades to prove zero dropped requests.
Roadmap
17 sections across 6 parts.
Part I
§1–4
Local Kubernetes
Run the full stack in kind. Health probes and graceful shutdown. OpenTelemetry distributed tracing. Gateway API routing with Envoy Gateway.
Part II
§5–7
Build & Infrastructure
GitHub Actions to build, test, scan, and push to ECR. Terraform modules for VPC, EKS, RDS, ElastiCache. Infrastructure plan/apply via CI.
Part III
§8–10
GitOps & Progressive Delivery
ArgoCD installation and sync policies. Blue/green rollouts with Argo Rollouts. Automatic rollback on failed health analysis.
Part IV
§11–13
Pipeline Safety
Database migrations as ArgoCD PreSync hooks. CI gates for destructive schema and breaking API changes. Google Chat deployment notifications.
Part V
§14–16
Operations
k6 validation under load during rollouts. Zero-downtime EKS cluster upgrades with PDBs and topology spread. Secrets via AWS Secrets Manager and ESO.
Part VI
§17
AI Troubleshooting
Diagnose simulated production incidents with Cursor and read-only kubectl — events, logs, traces, and structured remediation plans.
Tech stack
Tools you'll use throughout.
Node 22 · Java 21 · Python 3.12 · .NET 9
kind
EKS
Gateway API · Envoy
ArgoCD · Rollouts
GitHub Actions
Terraform
RDS · ElastiCache
OpenTelemetry
ESO · Secrets Manager
k6
ECR
Learning outcomes
What you'll be able to do.
- →Run and debug a multi-service stack on local kind clusters with production-grade probes and graceful shutdown.
- →Provision EKS, RDS, and ElastiCache with Terraform and automate plan/apply through GitHub Actions.
- →Deploy with ArgoCD GitOps and ship blue/green releases with Argo Rollouts and automatic rollback.
- →Decouple database migrations from app deploys using ArgoCD PreSync hooks.
- →Block destructive schema changes and breaking API diffs in CI before they reach production.
- →Prove zero-downtime deploys and cluster upgrades with k6 load tests under synthetic traffic.
- →Manage secrets with AWS Secrets Manager and External Secrets Operator — nothing sensitive in Git.
- →Diagnose production incidents using distributed traces, events, and AI-assisted kubectl analysis.
Ready to run Kubernetes like production?
~20 minutes on a call. We'll talk about where you are, whether this project fits your goals, and how Senior Ready can structure the work. No pitch deck.
Book a call →Best fit if you already know kubectl and want hands-on EKS experience — not if you're learning containers from scratch.
What makes this different
The parts most courses skip.
PreSync migration hooks
Database migrations run as Kubernetes Jobs before app pods start — not inside container entrypoints. A failed migration aborts the ArgoCD sync and leaves the database on the previous schema version.
Destructive schema gates
CI blocks DROP TABLE, column type changes, and breaking OpenAPI diffs before merge. Blue/green deploys only work when schema changes are backwards-compatible — this enforces it.
Cluster upgrades under load
Upgrade EKS control plane and rotate node groups while k6 runs continuously. PodDisruptionBudgets, anti-affinity, and topology spread keep services available — and the load test proves it.