Skip to content

A comprehensive Kubernetes testing environment for learning auto-scaling, monitoring, and load testing with a complete microservices stack.

License

Notifications You must be signed in to change notification settings

nesiler/k8s-lab

Repository files navigation

Kubernetes Test Lab 🚀

Kubernetes playground to learn autoscaling, monitoring, and load testing with a minimal microservices stack.

What you get:

  • Kubernetes (k3d), API (Go + chi), PostgreSQL, Locust, Prometheus, Grafana, Kubernetes Dashboard
  • One-command start and ready-to-use dashboards and metrics

Prerequisites

  • Docker, kubectl, k3d, make, curl (jq optional)

Install automatically:

./scripts/install-dependencies.sh

Quick start

make start      # create cluster, deploy, wait, show URLs
make status     # check pods/services/HPA
make stop       # remove namespace (keep cluster)
make clean      # delete cluster and clean up

Access URLs

Service URL Notes
API http://localhost:8080 Exposes /, /health, /metrics
Locust http://localhost:8089 Start load tests
Grafana http://localhost:3000 admin/admin
Prometheus http://localhost:9090 Web UI
K8s Dashboard http://localhost:8001 Via k3d LB

Common commands

make logs       # tail API and DB logs
make watch      # live view of pods and HPA
make load-test  # open Locust UI

Documentation

Clone

git clone https://github.com/nesiler/k8s-lab.git
cd k8s-lab

License

GPL — see LICENSE.

About

A comprehensive Kubernetes testing environment for learning auto-scaling, monitoring, and load testing with a complete microservices stack.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published