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
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
| option | purpose |
|---|---|
| --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.