2

When I went through some of the tutorials online, it showed that only the worker nodes have the container runtime. But from my understanding, it seems master nodes also run some pods such as etcd and the api server components to ensure the cluster functions properly and thus has kubelet. Can anyone please correct me if I'm wrong and answer my question if possible?

Saif Mu
  • 23
  • 2

1 Answers1

2

Master nodes have CRI too, verify it using: kubectl get nodes -o wide.

When a Kubernetes cluster is first set up, a Taint is set on the master node. This automatically prevents any pods from being scheduled on this node. But, it's definitely possible to run pods on the master node. However, best practice is not to deploy application workloads on a master server.

In terms of tutorials, I believe it's just to keep things simple.

  • Thanks for your answer. Actually, when I was working, I saw the same that PODs can be scheduled in Master Node and we need to taint them to avoid doing that. So I assumed that Master Node should have CRI too. But when I went through the tutorial it was differentiating Master and Worker nodes depending on the CRI and that confused me. – Saif Mu Aug 15 '22 at 05:15
  • What I am interested in is killing the ContainerD on the master nodes for performance. It takes memory and cpu time even if it does nothing. My Rasbi cluster masters are struggling to cope with the load even without a single container deployed. To be economical I used v 3 Rasbi for masters as thy theoretically should need less resources. – user3852017 Dec 05 '22 at 18:54