Найти тему
Эникей на передержке

Кубер для самых маленьких, ч. 3 | Архитектура K8s

Оглавление

Всем привет! Прежде чем начать настройку кластера kubernetes, разберёмся в таких понятиях как кластер, мастер-нода, миньон, поймём чем два последних отличаются друг от друга, а также рассмотрим основные компоненты.

Предыдущая часть:

Все части:

Kubernetes для самых маленьких | Эникей на передержке | Дзен

Kubernetes nodes

В нашем случае нода — это физический или виртуальный компьютер, на котором установлен k8s.

В общем случае нода (англ. node - узел) — это физический или виртуальный компьютер.

Чтобы kubernetes мог запускать контейнеры, ему нужен рабочий узел (worker node).

Рабочий (Миньон)

Рабочий узел (иногда его называют миньон) — это машина, на которой kubernetes запускает контейнеры.

Если у нас будет всего одна рабочая нода, то при выходе её из строя, у нас не останется рабочих контейнеров, поэтому миньонов должно быть более одного (минимум три). В этом случае если какой-то узел выйдет из строя, приложение останется доступным с других узлов.

Кроме доступности, наличие нескольких узлов решает ещё одну задачу - распределение нагрузки.

На каждом рабочем узле должна быть установлена среда выполнения контейнеров (в нашем случае ContainerD, в следующих частях я объясню разницу между containerd и docker), агент kubelet.

Когда у нас есть несколько нод, мы можем сгруппировать их в кластер.

Кластер

Кластер (англ. cluster - скопление) — это набор сгруппированных узлов. В кластере уже есть рабочие узлы, но кто будет отвечать за их управление?

Нам необходимо где-то хранить информацию о членах кластера, осуществлять мониторинг узлов, распределять нагрузку и т.д. Чтобы решить эту задачу нам необходим ещё один узел, который будет управлять кластером (master node).

Мастер

Мастер - это узел kubernetes, настроенный определённым образом. Он наблюдает за узлами кластера и отвечает за оркестрацию контейнеров.

В кластере может быть несколько узлов этого типа

На мастер ноде должен быть установлен API kube, который, в общем-то, и делает из обычного узла ведущий. Также требуются хранилище значений ключей etcd, контроллер и планировщик.

Есть и другие компоненты, но на данном этапе нам достаточно знать об этих.

Компоненты k8s

При установке kubernetes на мастер или рабочую ноду, происходит установка определённого набора компонентов. Рассмотрим некоторые из них:

API Server

API сервер выступает в качестве интерфейса для кластера kubernetes.

Служба etcd

etcd — это распределённое хранилище значений ключей. Служба хранит все данные, используемые для управления кластером на мастер узлах кластера распределённым образом (если их несколько).

Container Runtime

Среда выполнения контейнера — это базовое ПО, используемое для запуска контейнеров.

Контроллер

Контроллер — мозг, отвечающий за оркестрацию. Он реагирует на выход узлов или контейнеров из строя и принимает решение о запуске новых.

Планировщик

Планировщик отвечает за распределение рабочих нод и контейнеров. Он ищет только что созданные контейнеры и назначает их узлам.

Служба kubelet

Kubelet является агентом, который запускается на каждом рабочем узле кластера. Он отвечает за мониторинг и взаимодействие с master node.

Заключение

В этой части мы разобрались что такое кластер kubernetes и рассмотрели основные компоненты k8s и зоны их ответственности.

Следующая часть:

Спасибо, что дочитали статью до конца.

Поддержите канал лайком и подпиской, чтобы чаще видеть в ленте подобный контент. Всем добра!)

---

-2