1. Install and setup minikube cluster in ubuntu using following link.
https://devopsbyashish.blogspot.com/2025/01/how-to-install-docker-in-ubuntu.html
2. Install helm.sudo snap install helm --classic
3. Install Prometheus
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update helm install prometheus prometheus-community/prometheus
4. Verify Prometheus by listing pods and services.
kubectl get pods -A
kubectl get svc
5. Expose Prometheus-Server for external network.
kubectl expose service prometheus-server --type=NodePort --target-port=9090 --name=prometheus-server-ext
6. Get the minikube IP.
minikube ip
7. Check if Prometheus URL working.
curl http://minukubeip:mapedport
curl 192.168.49.2:31375
8. Add helm repo and install Grafana.
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install grafana grafana/grafana
9. Follow the instruction given in output from step 8 last command to get Grafana admin password
kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
10. Verify grafana.
kubectl get pods -A
kubectl get svc
11. Expose Prometheus-Server for external network.
kubectl expose service grafana --type=NodePort --target-port=3000 --name=grafana-ext
12. Verify Grafana URL.
curl http://minukubeip:mapedport
curl 192.168.49.2:32083
13. Expose prometheus-kube-state-metrics for external network.
kubectl expose service prometheus-kube-state-metrics --type=NodePort --target-port=8080 --name=prometheus-kube-state-metrics-ext
14. Verify prometheus-kube-state-metrics URL.
curl http://minukubeip:mapedport
curl 192.168.49.2:32052