Kubernetes. Архитектура.

Пишу очередную заметку-шпаргалку. Она относится к архитектуре Kubernetes.

Целью Kubernetes является автоматизация развертывания контейнеризированных приложений. Он же соединяет все компоненты приложения в единой целое.

Кластер состоит из набора узлов на которых развернуты контейнеры.

Есть Master node, он состоит из:

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

Инфомация хранится в ECTD — базе данныых типа ключ-значение. Все, что происходит в кластере должно быть записано в базу данных.

Планировщик (kube-scheduler). Планировщик знает сколько контейнеров запущенно на каждой ноде. Он определяет на какой ноде запустить очередной контейнер, исходя из его требований.

Api server отвечает за координацию всех операций в кластере, т.е. все взаимодействие происходит через него. Является главной и важный компоненент кластера Kubernetes.

И Worker node, на них запущены:

Kubelet — на каждом узле кластера. Он получается команды от Api server и разворачивает или удаляет контейнеры.

Приложения должны иметь возможность взаимодействовать между собой, даже если находятся на разных узлах кластера. Для этого существует Kube-proxy. Он организует сетевое взаимодействие между сервисами в кластере.

Поделиться ссылкой: