Skip to main content

Introduction

Welcome to the Kubernetes Playground Cluster - a home Kubernetes lab using GitOps principles with ArgoCD and Helm.

What Is This?

This is my personal home Kubernetes cluster setup. It contains the complete infrastructure-as-code for a self-managed bare-metal Kubernetes cluster. The setup follows GitOps principles where all cluster configurations are stored in Git and automatically synchronized to the cluster by ArgoCD.

What Can You Do With This?

  • Deploy applications using Git-based workflows
  • Auto-manage DNS records via External-DNS
  • Auto-provision TLS certificates via cert-manager
  • Load balance services on bare-metal via MetalLB
  • Route HTTP traffic via NGINX Ingress
  • Monitor cluster with Prometheus and Grafana
  • Aggregate logs with Loki and Grafana Alloy
  • Block ads network-wide with Pi-hole
  • Manage service mesh traffic with Istio
  • Enforce policies with OPA Gatekeeper
  • Encrypt secrets with Sealed Secrets for GitOps workflows

Tech Stack

ComponentPurposeVersion
KubernetesContainer orchestration1.29+
ArgoCDGitOps continuous deliveryHelm 9.4.10
HelmPackage management3.x
MetalLBLoad balancer (bare-metal)0.14.8
NGINX IngressHTTP routing4.11.3
cert-managerTLS certificates1.17.2
External-DNSDNS management1.15.0
CloudflareDNS provider-
Prometheus StackMonitoring & alerting68.0.0
LokiLog aggregation6.55.0
Grafana AlloyObservability collector0.10.0
IstioService mesh1.24.0
OPA GatekeeperPolicy engine3.22.0
Sealed SecretsSecret encryption2.18.4
Pi-holeNetwork ad-blockingLatest

Prerequisites

  • Kubernetes cluster (kubeadm, v1.29+)
  • kubectl configured with cluster access
  • GitHub personal access token (with repo access)
  • Cloudflare account + API token (for DNS-01 challenges)

Key Features

  • GitOps Workflow: All changes go through Git, ArgoCD automatically syncs
  • Automated TLS: Let's Encrypt certificates with auto-renewal
  • Auto DNS: Automatic DNS record creation via External-DNS
  • Monitoring Stack: Prometheus + Grafana for metrics and alerting
  • Logging: Loki + Grafana Alloy for log aggregation
  • Network Ad-blocking: Pi-hole for network-wide ad and tracker blocking
  • Service Mesh: Istio for traffic management, security, and observability
  • Policy Engine: OPA Gatekeeper for admission control and audit
  • Secret Management: Sealed Secrets for encrypted secrets in Git