I am on the lab -- troubleshoot controlplane failures, and I do not find the kub . . .

Mayur Sharma:
Sorry :stuck_out_tongue: , but kube-proxy should be available across all nodes for communication between services.

Karim Meslem:
yes, but as per the k8s docs, a node is a worker machine :stuck_out_tongue:

Mayur Sharma:
Yeah, right. let see if anyone can clear the doubt regarding,

  1. how static pods are deployed on master node, I think kubeadm does that but how, using which component, and
  2. where is the configuration on master node to set the static pod directory as /etc/kubernetes/manifest
    @Mumshad Mannambeth @Mohamed Ayman

Karim Meslem:
it’s all well documented in the official docs as you might expect.
<Create static Pods | Kubernetes static Pods | Kubernetes>

as for clusters created with kubeadm init, refer these docs for the static pod part, how and by whom
<https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/|kubeadm init | Kubernetes>

Fernando Jimenez:
@Mayur Sharma In that particular lab, the controlplane is a container, and not a full operating system and that’s the reason you can not see the kubelet. However, there is one working behind the scene. In this case, it is not necessary to have access to the kubelet binary.

Mayur Sharma:
@Fernando Jimenez Thanks for the insight, I got a doubt because in that lab we have to fix the scheduler command (kube-schedulerrrr to kube-scheduler).

I knew that static pods are present by default in /etc/kubernetes/manifests folder.
This is configured in kubelet config property/file, so thinking to confirm the property value before moving into the default directory.
But when I did not find kubelet, so asked the query here.
Thanks again for your answer!

unnivkn:
@Fernando Jimenez How you conclude it is a container and not an OS. Is there a way ?. where as worker node seems to be OS rt?

unnivkn:
@Fernando Jimenez just look at this chat & video Its leading to your assumption. https://kodekloud.slack.com/archives/CHMV3P9NV/p1621936204277100

Fernando Jimenez:
@unnivkn A simple ps auxw in the so called controlplane will show that it is a container.

unnivkn:
hmmm… interesting :+1:

SaidBen:
Kubelet is set up by KUBEADM on all modes the same way including the master node. If you don’t see it then something is wrong with the cluster set up. What happen when you run systemctl status kubelet? Did you you try sudo systemctl restart kubelet?

unnivkn:

unnivkn:
https://kubernetes.io/docs/concepts/overview/components/

unnivkn:

unnivkn:

Fernando Jimenez:
@SaidBen

Kubelet is set up by KUBEADM on all modes the same way including the master node. If you don't see it then something is wrong with the cluster set up. What happen when you run systemctl status kubelet? Did you you try sudo systemctl restart kubelet?

Imagine that you do that in a virtual machine and you make that the master node. Now, setup a container with kubectl in it. Mount all the volumes necessary to the certificates and the /etc/kubernetes/manifests from that master node and name it controlplane. Allow access to that controlplane container but not to the underneath virtual machine. What do you have? No access to systemctl, and no access to the running process like kubelet. However, the container will behave for the purpose of the lab like the “real” controlplane.

SaidBen:
@Fernando Jimenez I agree, in that case your controlplane container won’t have access to systemd services of that vm