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.

Intermediate / Advanced · ~70–80 hours · AWS EKS
Book a call →
4
backend languages
17
sections
0
downtime target

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.

Runtime
Node 22 · Java 21 · Python 3.12 · .NET 9
Local K8s
kind
Orchestration
EKS
Gateway
Gateway API · Envoy
GitOps
ArgoCD · Rollouts
CI/CD
GitHub Actions
IaC
Terraform
Data
RDS · ElastiCache
Observability
OpenTelemetry
Secrets
ESO · Secrets Manager
Load test
k6
Registry
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.