Metrics-server: 'kubectl top node' output for worker nodes "Unknown"

Greetings …

Cluster information:

Learning cluster on Ubuntu 20.04. setup with vagrant

I installed metrics-server following the instruction. Since the master node is tainted, I added a toleration to the deployment. But ‘kubectl top node’ gives only the resource usage on the master node, everything for worker nodes are “Unknown”. I then found the worker nodes are also tainted with the key ‘node.kubernetes.io/unreachable’, so I added that to the toleration as well, My toleration section is now below.
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/unreachable
operator: Exists

But now the metrics-server pod stays in pending status, with no error in the output. So I’m completely puzzled. Can someone more experienced provide some insight what I’m missing?

Hey @BenZ
can you describe the metrics-server pod and share the o/p here? Check the kubelet status as well.
Hope this architecture diagram helpful Here.

kubectl top pod --sort-by=cpu --selector=name=overloaded-cpu --no-headers |head -1 | awk ‘{print$1}’ > /opt/cpu_pod.txt