Аналоги Kubelet

Docker

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Docker — программная платформа и среда выполнения для разработки, доставки и запуска контейнеризированных приложений, обеспечивающая упаковку приложений и их зависимостей в изолированные контейнеры, управление образами, сетевыми и хранилищными ресурсами; в роли аналога kubelet, который является агентом узла в Kubernetes, Docker может выступать как локальный демон для запуска и контроля жизненного цикла контейнеров на хосте, предоставляя API для создания, остановки и мониторинга контейнеров, управление образами через реестры и интеграцию с системными средствами безопасности и логирования, однако в отличие от kubelet Docker не реализует функции оркестрации на уровне кластера и обычно используется совместно с системами управления контейнерами для распределённого развертывания и масштабирования.

Kubelet

Бесплатно
Открытый исходный код
Linux

Сайт: kubernetes.io/docs/reference/command-line-tools-reference/kubelet

Kubelet — это основной агент узла в системе оркестрации контейнеров Kubernetes, работающий на каждом рабочем и управляющем узле кластера. Он отвечает за взаимодействие с локальной операционной системой и контейнерным рантаймом, обеспечивая запуск, контроль и поддержку жизненного цикла контейнеров, сгруппированных в поды. Kubelet получает желаемое состояние подов от сервера API Kubernetes и предпринимает необходимые действия для приведения фактического состояния узла в соответствие с этим желаемым состоянием.

Kubelet реализует контрольные и исполнительные функции: проверяет состояние контейнеров, перезапускает их при сбоях, следит за ресурсными ограничениями и монтированием томов, а также отчеты о состоянии узла и подов отправляет в API-сервер. В архитектуре Kubernetes Kubelet выполняет роль «локального менеджера», взаимодействующего с такими компонентами, как контейнерный рантайм (например, containerd или CRI-O), cgroup и сетевыми плагинами через стандартизированные интерфейсы. Исторически Kubelet развивался вместе с Kubernetes как ключевой компонент, обеспечивающий согласованность состояния кластера и локального выполнения рабочих нагрузок.

  • Регистрация узла: сообщает о наличии и состоянии узла в API-сервере Kubernetes.
  • Синхронизация подов: получает и применяет спецификации подов, поддерживая желаемое состояние.
  • Управление контейнерами: запускает, останавливает и перезапускает контейнеры через интерфейс контейнерного рантайма (CRI).
  • Мониторинг состояния: собирает и отправляет статусы подов и контейнеров, включая ливнес/рединесс пробы.
  • Работа с томами: монтирует и размонтирует тома, необходимые подам, обеспечивает доступ к постоянному хранилищу.
  • Применение политик ресурсов: учитывает лимиты CPU/памяти и управляет cgroups для изоляции и контроля ресурсов.
  • Интеграция с сетью: взаимодействует с сетевыми плагинами для настройки сетевого окружения подов.
  • Выполнение хуков и проб: поддерживает ливнес, рединесс и пост-стартап проверки, влияющие на маршрутизацию трафика и перезапуск контейнеров.
  • Расширяемость: поддерживает плагины и расширения, такие как Device Plugins и интеграция с CSI для управления устройствами и томами.
Подробнее