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.