A lightweight, self-contained Prometheus + Grafana monitoring stack for Kubernetes — demonstrating hands-on observability chart design (Kubernetes-native Prometheus scrape config, auto-provisioned Grafana datasource, persistent TSDB storage).
- Prometheus Deployment with a Kubernetes pod-discovery scrape config and persistent storage
- Grafana Deployment auto-provisioned with Prometheus as its default datasource
- Admin credentials pulled from a Kubernetes Secret (never hardcoded in values)
Create the Grafana admin secret first:
kubectl create secret generic grafana-admin-credentials \
--from-literal=admin-password='<your-strong-password>' \
-n monitoringhelm install monitoring ./monitoring-stack -n monitoring --create-namespacekubectl port-forward svc/monitoring-grafana 3000:3000 -n monitoring
# Visit http://localhost:3000This chart is intentionally minimal for demonstration purposes. For production clusters, prefer the official kube-prometheus-stack chart, which adds Alertmanager, pre-built dashboards, and Kubernetes-native CRDs (ServiceMonitor/PodMonitor). This chart shows the underlying mechanics those larger charts automate.