Aller au contenu

Sitemap

A complete step-by-step guide to install and troubleshoot Metrics Server on Kubernetes using Helm — perfect for EKS, GKE, Minikube & Kubeadm clusters! 💡

👋 Introduction¶

Metrics Server is the heartbeat of Kubernetes performance monitoring 🫀. Whether you’re tuning autoscaling or simply checking node usage, it’s an essential component. However, Helm installation can get tricky if syntax or flags are off.

In this guide, you’ll learn how to:

âś… Add the Helm repo
âś… Install Metrics Server correctly (with --kubelet-insecure-tls)
âś… Verify the setup
âś… Use a custom values.yaml for better flexibility
Let’s dive in! 🏊♂️✨

🧩 Step 1: Add the Metrics Server Helm Repository¶

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm repo update

📌 This adds and refreshes the repo so you can access the latest Metrics Server chart.

📦 Step 2: Install Metrics Server via Helm¶

helm install metrics-server metrics-server/metrics-server \
  --namespace kube-system \
  --set "args={--kubelet-insecure-tls,--kubelet-preferred-address-types=InternalIP}"

đź’ˇ Why this matters:
Many clusters (like Minikube or bare-metal) need --kubelet-insecure-tls or they’ll fail TLS verification 🔒.

🔎 Step 3: Verify Your Installation¶

Check pod status:

kubectl get pods -n kube-system -l "app.kubernetes.io/name=metrics-server"

Check metrics API:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"

{"kind":"NodeMetricsList","apiVersion":"metrics.k8s.io/v1beta1","metadata":{},"items":[{"metadata":{"name":"kube1","creationTimestamp":"2025-05-21T10:56:12Z","labels":{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"kube1","kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":"","node.kubernetes.io/exclude-from-external-load-balancers":""}},"timestamp":"2025-05-21T10:55:59Z","window":"20.039s","usage":{"cpu":"210243026n","memory":"3123988Ki"}}]}

âś… You should see a JSON output with node stats.
❌ If not, run:

kubectl describe pod <metrics-server-pod-name> -n kube-system

đź“„ Create values.yaml:

args:
  - --kubelet-insecure-tls
  - --kubelet-preferred-address-types=InternalIP

Install using:

helm install metrics-server metrics-server/metrics-server \
  --namespace kube-system -f values.yaml

✨ Bonus: You can add options like nodeSelector, affinity, or tolerations here for advanced scheduling.

✅ Conclusion¶

Installing Metrics Server might seem like a small step, but it’s crucial for autoscaling and performance visibility 🚀.
Using the right Helm syntax or a clean values.yaml file can save you from cryptic errors and hours of debugging ⏱️.

👉 Now your Kubernetes cluster is ready to report accurate metrics like a pro!

🚀 Stay Ahead with BenchHub.co¶

Want to dive deeper into the tools that power today’s tech stacks?
At BenchHub.co, we’re constantly benchmarking the latest DevOps, ML, and Cloud-native tools — so you don’t have to.

Don’t get left behind — subscribe now and supercharge your tech decisions with data that matters.## Empowering Smarter Tech & AI Decisions: Benchmarks,Insigths

Explore BenchHub.co - your ultimate resource for comparing tech and AI solutions. Gain actionable insights, detailed…

www.benchhub.co

View original

👉 Subscribe here and join a community of builders, engineers, and decision-makers staying sharp in a fast-moving ecosystem.

🔍 Why subscribe?
By joining our newsletter, you’ll get:

  • đź§  Advanced tutorials on real-world use cases
  • 📊 Unbiased benchmarks of tools from the marketplace
  • 🛠️ Expert insights to help you make smarter tech decisions
  • ⚡ Early access to upcoming evaluations and performance reports

Kubernetes #Helm #MetricsServer #DevOps #K8sMonitoring #Kubeadm #EKS #GKE #Minikube #ClusterMonitoring #KubernetesAutoscaling¶

More from Mahernaija¶

[

See more recommendations

](https://medium.com/?source=post_page---read_next_recirc--058586744db9---------------------------------------)