All you need to know to get started with Kubernetes : Kubelet

After reading this post, you will have a high level understanding of the kubelet component in the kubernetes cluster. You will also learn to install it depending on the way you set up your cluster.

Kubernetes

If you want to get the most out of this post I would highly recommend my article that briefly overviews the kubernetes architecture. Link Here

Let's get right into it.

The kubelet, is like the captain on the ship (worker node). They lead all activities on a ship, and are the sole point of contact from the master ship (master node).

The responsibilities of the kubelet are as follows:

  • Doing all the paperwork necessary to become part of the cluster.

  • Load/unload containers on the ship as instructed by the scheduler on the master.

  • Send back reports at regular intervals on the status of the ship and the containers on them.

  • Register the node with the kubernetes cluster.

Kubernetes

When a kubelet receives instructions to load a container or a POD on the node, it requests the container run time engine, which may be Docker, to pull the required image and run an instance.

The kubelet then continues to monitor the state of the POD and the containers in it and reports to the kube-api server on a timely basis.

How do you install the kubelet?

If you use kubeadm tool to deploy your cluster, it does not automatically deploy the kubelet.

Now that's the difference from the other components.

You must always manually install the kubelet on your worker nodes. Download the installer, extract it and run it as a service.

wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubelet

You can view the running kubelet process and the effective options by listing the process on the worker node and searching for kubelet.

ps -aux | grep kubelet

We will take a deeper dive into kubelets, how to configure them, generate certificates, and also how to TLS bootstrap kubelets in another post.