Skip to main content

kubelet

The two things Kubelet knows how to do is to create pods, and keep them running.

An agent that runs on each node in a cluster. It listens for instructions from the Kube API and deploys or destroys containers on the nodes as required.

You must install kubelet on all the nodes.

Upstream Docs​

Command Line Options

Responsible for scheduling a pod on a node. Runs on the worker node Registers the node with the cluster Requests the CRI to pull the image and run an image. Kubelet reports back to the kube-apiserver Kubeadm does not deploy Kubelets!! Download, extract, run as a service

Important Config Options​

optionpurpose
--cni-bin-dir
--cni-conf-dir
--network-plugin
Set the network plugin, and location of network plugin files

Static Pods​

Static pods are pod manifests that live in /etc/kubernetes/manifests directory. This directory is customizable in the Kubelet startup options as --pod-manifest-path or as staticPodPath in the kubelet config file.

If you make a change to files in this directory, kubelet will recreate the pod. Removing a file will remove the pod.

When Kubelet creates a static pod, it also creates an object in the KubeAPI server if it is part of a cluster. Pod is appended with the nodename!

You can use this to run the control plan as pods on a node!

Networking​

Kubelet is responsible for invoking the CNI plugins after the container is created.