Базовая архетиктура

Рассмотрим 2 вида узлов 1 - master 2 - slave

рабочие сервисы (node \ узел ) сервис кластера выполняющий всю работу

На каждой ноде должны быть установлены минимум эти компоненты!

  1. Kublet процесс самого kubernetes правляет и планирует

  2. среда выполнения контейнера например Docker но может быть и любая другая технология.

  3. отвечает за пересылку запросов от служб к модулям Kube Proxy и логику отправляющую запрос на ту же node которой был отправлен запрос. Таким образом мы избигаем большого количества запросов и расходы на сеть

Взаимодействие с кластером....

  1. как опеределяетья время запуска приложения

  2. какие процессы отслеживаются если реплика или бд умерает и т.д а затем пеерносит или запускает снова

  3. когда происходит добовление нового сервера как он присоеденяеться к кластеру чтобы запускать на нем модули и т.д Все эти процессы управления управляються главными узлами или Master node 4 процесса запущены на всех master node которые управляют состоянием кластера и рабочими node

    1. API Server для взаимодействия с кластером CLI или GUI. Так же выступает в роле Getkeeper для аутентификации

    2. Scheduler или планировщик решает на каком узле будет запущен процесс нового модуля от master node идет запрос в slave дергает Kublet и запускает нужный нам процесс

    3. controller manager когда модули умерают нужно перенести их когда это будет возможно. он выполняет эту роль. Отслеживает состояние кластра. Для этого он отпраляет запрос в scheduler планировку этих мертвых модулей

    4. ETCD - хранилище ключевых значений состояние кластера (мозг кластера) каждое назначение в кластере, когда модуль назначаеться или умирает все эти значения сохраняются в ETCD. Но в нем не храняться фактические данные приложения. Exumple Cluster Set-Up 2 master node требуеться меньше ресурсов 3 worker nodes требуеться больше ресурсов

Last updated