k8s-master-01
The coordinator: Kubernetes API, scheduling, cluster state, and encrypted etcd snapshots.
✦ ILKER TAYSI’S DEVOPS PLAYGROUND
A little corner of the internet, built at home. A place to sharpen DevOps skills, turn curious ideas into small apps and games, and share them just for the fun of it.
01 / THE HOMELAB
Three Ubuntu nodes run a kubeadm Kubernetes cluster. Development, temporary previews, and public production live side by side, with separate namespaces, guarded access, and a release path that keeps the tested image intact.
The coordinator: Kubernetes API, scheduling, cluster state, and encrypted etcd snapshots.
A home for containers, application replicas, monitoring, and persistent workloads.
A second worker spreads production replicas and leaves room to keep experimenting.
A shared home cluster keeps things approachable. Namespace boundaries, quotas, restricted pods, and backups make the experiments deliberate.
02 / THE TOOLBOX
Tools with a purpose: reproducible infrastructure, predictable releases, and enough visibility to understand what’s happening.
The hosts and the infrastructure that make everything repeatable.
Containers, cluster networking, and an entry point for every app.
Build and test once. Let Git describe what should be running.
A public front door for projects, with protected doors for development.
Metrics inside the lab. Uptime checks outside the home network.
PostgreSQL, persistent storage, and tested offsite recovery paths.
03 / UNDER THE HOOD
Follow a request, a release, or a backup through the platform.
Cloudflare is the front door. Public apps reach Envoy through an outbound tunnel; development, previews, and admin tools require Access.
Observability runs alongside the workloads: Prometheus collects metrics, Grafana visualizes them, and UptimeRobot watches public apps from outside the lab.
04 / FROM IDEA TO INTERNET
Choose a step to see how a project moves from an idea to a public release. Production gets the image that development already tested.
A scaffold creates a static site, API, or Next.js app with a Dockerfile, a health endpoint, and a place in the application registry. Prepare the namespace, then make it your own.
git switch -c pv/myapp/first-release origin/develop
python3 scripts/scaffold.py myapp static
python3 ../infra/scripts/prepare_namespace.py dev myapp
One branch. One app. Plenty of room to experiment.
05 / OUT IN THE WORLD
Apps, experiments, and eventually a few games. This shelf discovers public production deployments automatically—there’s always room for the next idea.