Node (в Kubernetes)

⌘K

Node (в Kubernetes)

Node — это рабочий узел в кластере Kubernetes. Он может быть как физическим сервером, так и виртуальной машиной, и служит площадкой для запуска подов. Каждый node предоставляет вычислительные ресурсы (CPU, память, дисковое пространство) и управляется системными компонентами Kubernetes.

На каждом узле обязательно работают три ключевых процесса:
kubelet — следит за состоянием подов и сообщает об их статусе в control plane,
kube-proxy — отвечает за сетевую маршрутизацию и доступ к сервисам,
container runtime (например, containerd или CRI-O) — запускает контейнеры внутри подов.

Узлы — это то, на чём физически работает ваше приложение. Вся нагрузка, масштабирование, обновление и отказоустойчивость зависят от доступности и состояния этих узлов. Один кластер может включать десятки или сотни nodes, и Kubernetes автоматически распределяет рабочие нагрузки между ними.

Управлять node’ами можно через команды

kubectl
. Например:
kubectl get nodes
— показывает все узлы и их статус,
kubectl cordon <node-name>
— временно помечает узел как недоступный для новых подов,
kubectl drain <node-name>
— безопасно удаляет поды перед обновлением или отключением узла.

В архитектуре Kubernetes есть чёткое разделение:
Control Plane — управляет кластером, решает, что и где запускать.
Nodes — выполняют реальные задачи, размещают поды и обеспечивают исполнение приложений.

Понимание роли node’ов критично для администрирования и масштабирования кластеров. Именно узлы определяют, сколько ресурсов доступно, как быстро можно масштабировать поды и насколько надёжно будет работать система под нагрузкой.


Архитектура Kubernetes: Control Plane и Node

Control Plane (Управляющий уровень)

Отвечает за принятие решений в кластере.
Компоненты:

  • kube-apiserver
    — точка входа, API-интерфейс для всех операций.
  • etcd
    — ключ-значение база данных, где хранятся все состояния кластера.
  • kube-scheduler
    — определяет, на какой node разместить под.
  • kube-controller-manager
    — следит за состоянием объектов (реплики, ноды, namespace и т.п.).
  • cloud-controller-manager
    — управляет ресурсами облачного провайдера (если используется).

Control plane не запускает поды приложения, а управляет ими.


Nodes (рабочие узлы)

Физические или виртуальные машины, на которых запускаются контейнеры.
Каждый node включает:

  • kubelet
    — следит за подами и сообщает о состоянии.
  • kube-proxy
    — управляет сетевыми правилами и балансировкой трафика.
  • container runtime
    — запускает контейнеры (например, containerd, CRI-O, Docker).

Nodes получают инструкции от Control Plane и выполняют их — разворачивают поды, отслеживают ресурсы, маршрутизируют трафик.


Связь: как всё работает

  1. kubectl apply
    → отправляет запрос в
    kube-apiserver
    .
  2. Control plane обрабатывает запрос, решает, где запустить под.
  3. kube-scheduler
    выбирает node.
  4. kubelet
    на выбранном узле разворачивает контейнер(ы).
  5. kube-proxy
    обеспечивает сетевую доступность.

Долгосрочные клиенты — наша гордость

Для тех, кто с нами надолго: 12 месяцев = 13 с промокодом

Месяц в подарок
COPIED
NEWCOM COPIED