Why Helm on Kubernetes?

→kube-prometheus-stack is the best and most complete Helm chart. It installs:

Prerequisites (Must Have)

A running Kubernetes cluster (Minikube for learning, EKS/GKE/AKS, or self-managed).

kubectl configured and working (kubectl get nodes). Helm 3+ installed.

At least 2-4 CPU and 4-8 GB RAM for the cluster (monitoring stack is resource-heavy).

Install Helm (if not installed):

curl <https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3> | bash
helm version

Core Concepts You Must Understand

Helm Chart: A package containing all YAMLs (Deployments, Services, ConfigMaps, CRDs, etc.).

Values.yaml: Configuration file where you override defaults. Prometheus Operator: Watches Custom Resources (Prometheus, ServiceMonitor, PodMonitor, Alertmanager, etc.) and manages the actual pods.

ServiceMonitor / PodMonitor: Declarative way to tell Prometheus what to scrape.

CRDs (Custom Resource Definitions): Extended Kubernetes objects.

Step-by-Step Installations

Step 1: Add the Helm Repository

helm repo add prometheus-community <https://prometheus-community.github.io/helm-charts>
helm repo update

Step 2: Create Namespace

kubectl create namespace monitoring