Home

Homelab

Homelab Project: Kubernetes and Platform Basics

A small homelab project for learning cluster operations, GitOps, and platform concepts.

What I Built

I set up a small k3s cluster in my homelab to practice platform basics and learn how the pieces fit together. The cluster is managed with GitOps through Argo CD, and the applications are defined in Git and synced into the cluster from there.

The work covered the parts that are usually harder to learn from tutorials:

  • Deploying applications with Helm and managing configuration through values files.
  • Exposing services with Traefik and Gateway API instead of treating ingress as a black box.
  • Using Longhorn for persistent storage and PVC-based workloads.
  • Setting up observability with Prometheus, Grafana, Loki, Tempo, and the OpenTelemetry Collector.
  • Working with secrets through Vault and External Secrets rather than hardcoding values.

What I Learned

The biggest shift was moving from "run a container" to "operate a platform". A lot of the work was not about getting a pod to start; it was about making the system predictable:

  • how services are discovered and exposed,
  • how storage behaves under real workloads,
  • how cluster state is reconciled over time,
  • and how to debug issues when a deployment looks fine in YAML but fails at runtime.

This has been a practical way to understand Kubernetes as a system I can operate, not just a set of concepts to memorize.