Описание
Узел (node) — это отдельная виртуальная или физическая машина, на которой развернуты и выполняются контейнеры приложений. Каждый узел в кластере содержит сервисы для запуска приложений в контейнерах (например Docker) и компоненты, которые обеспечивают централизованное управления узлом.
Группа узлов (Node Group) — это множество нод с общим шаблоном (размером) ВМ. Можно создавать несколько нод-групп с разными шаблонами/размерами и специальными именами для решения разных задач, а каждая из них может масштабироваться независимо от другой, а также можно активировать собственные параметры авто-масштабирования.
Под (pod) — базовая единица для управления и запуска приложений, один или несколько контейнеров, которым гарантирован запуск на одном узле, обеспечивается разделение ресурсов, межпроцессное взаимодействие и предоставляется уникальный в пределах кластера IP-адрес, что дает право приложениям, развернутым на поде, использовать фиксированные и предопределённые номера портов без риска конфликта. Подами можно управлять напрямую с помощью API Kubernetes или управление ими может быть передано контроллеру.
Все объекты управления (узлы, поды, контейнеры) в Kubernetes помечаются метками (label), селекторы меток (label selector) — это запросы, которые позволяют получить ссылку на объекты, соответствующие какой-то из меток; метки и селекторы — это главный механизм Kubernetes, который позволяет выбрать, какой из объектов следует использовать для запрашиваемой операции.
Сервис в Kubernetes — это совокупность логически связанных наборов подов и политик доступа к ним (сервис может соответствовать одному из уровней программного обеспечения, разработанного в соответствии с принципами многоуровневой архитектуры программного обеспечения). Набор подов, соответствующий сервису, получается в результате выполнения селектора соответствующей метки.
Kubernetes предоставляет возможность обнаружения сервисов и маршрутизации по запросу, также система умеет переназначать необходимые для обращения к сервису IP-адрес и доменное имя сервиса различным подам, входящим в его состав. При этом обеспечивается балансировка нагрузки между подами, чьи метки соответствуют сервису в стиле Round robin DNS, а также корректная работа в том случае, если один из узлов кластера вышел из строя и размещённые на нём поды автоматически переместились на другой. Автоматически сервис доступен внутри управляемого Kubernetes кластера. Например, поды бэкенда группируются для обеспечения балансировки нагрузки и в таком виде предоставляются фронтенду, но он может быть настроен и для того, чтобы предоставлять доступ к входящим в его состав подам извне, как к единому фронтенду.