0

According to kubernetes documentation here,

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl

Setting up a Kubernetes cluster using kubeadm requires to install kubectl on all nodes. However, kubeserver-api is only installed on the master node or control plane with the command,

kubeadm init

My question is why do we need kubectl on the worker nodes?

  • That sounds like a "documentation bug," as searching the kubeadm source code did not reveal any usages that look like they're shelling out to kubectl -- have you tried just not installing kubectl on the workers? – mdaniel Aug 29 '20 at 18:01

1 Answers1

1

kubectl is a CLI for controling your cluster so you do not need to install it on the worker nodes. You have to install it in a place where you are going to manage your cluster from.

As stated in the comments by the community this indeed looks like a documentation error as there is no relation between kubeadm and kubectl when joining the nodes. For worker nodes you just need to install both kubelet and kubeadm.

Michael Hampton
  • 244,070
  • 43
  • 506
  • 972
acid_fuji
  • 573
  • 3
  • 8
  • What is required to be installed on each node? i've read that kubelet at a minimum? is that a standable or part of a bigger installation required for each node? – mike01010 Jul 18 '23 at 20:41
  • @mike01010 kubeadm and kubelet. kuebeadm is for bootstrapping cluster and joining the workers to the master. kubelet is agent that runs on every node and handles comm with master etc. – acid_fuji Aug 10 '23 at 12:02