Kubelet — це основний "агент вузла", який створює та відстежує Podʼи на кожному вузлі. kubelet запускає цикл синхронізації, який періодично узгоджує бажаний стан (специфікацію Podʼів) з фактичним станом запущених контейнерів.
nodeName збігається з вузлом). Протягом кожного циклу субпроцеси, що називаються «pod workers», намагатимуться узгодити бажаний стан цих Podʼів з поточним станом запущених контейнерів.kubelet зберігається в наборі функцій у межах інтерфейсу podSyncer, включаючи функцію SyncPod та її варіанти (наприклад, SyncTerminatingPod та SyncTerminatedPod). Під час кожного циклу синхронізації відповідна функція podSyncer буде виконана для кожного Podʼа, намагаючись привести його стан на вузлі до бажаного стану.kubelet використовує CRI для взаємодії з середовищем виконання контейнерів (наприклад, containerd або CRI-O). kubelet виступає як клієнт, надаючи вказівки середовищу виконання створити "пісочницю Podʼа", а потім створити/запустити окремі контейнери, визначені в специфікації Podʼа.kubelet потрібно знати, коли контейнери запускаються, зупиняються або виходять з ладу. Він покладається на компонент з назвою PLEG, який періодично опитує середовище виконання для стандартного стану всіх контейнерів. PLEG генерує події, які пробуджують цикл синхронізації для оновлення статусу Podʼа.Через цей механізм опитування стан, який видно в API (наприклад, за допомогою команди kubectl get pod), може дещо запізнюватися порівняно з тим, що насправді відбувається на вузлі.