⌨️ K8s. Компоненты кластера
k8s в схемах и схемах 1
#k8s
Все думал, с чего начать серию постов о великом и ужасном кубере, как подступится? Решил рассказать о самом популярном оркестраторе контейнеров через схемы. Ну и, разумеется, первый пост об основных компонентах кластера. Это стандартный и довольно частый вопрос на технических собеседованиях вплоть до мидловых позиций.
В схеме, пунктирной линией с серым заполнителем обозначен сам Kubernetes кластер. Внутри — два типа объектов Control Plane и Worker node.
Control Plane
Control Plane отвечает за управление кластером и обеспечение его работы. Он состоит из нескольких компонентов, которые могут работать на одном управляющем узле (master node) или быть распределены между несколькими узлами и реплицированы для обеспечения высокой доступности.
Kubernetes API Server: с ним непосредственно взаимодействуете как пользователь, так и другие компоненты Control Plane, потому что он предоставляет доступ к API Kubernetes, а значит является основным интерфейсом для Control Plane. На схеме занимает центральную позицию, на него указывают большинство стрелок.
Scheduler, компонент, который отслеживает вновь созданные поды без назначенного узла и выбирает узел для их запуска.При принятии решений о планировании учитываются следующие факторы: требования к ресурсам (как со стороны размещаемого пода, так и воркер-ноды или всего кластера), hardware/software/policy ограничения, affinity и anti-affinity спецификации, расположение данных, влияние подов друг на друга (избежание риска конкуренции за ресурсы) и дедлайны.
Controller manager, запускает логические компоненты (контроллеры) которые отслеживают состояние кластера и управляют его объектами чтобы обеспечить их соответствие желаемой конфигурации.
etcd, распределенное хранилище данных, которое постоянно хранит конфигурацию кластера.
Nodes
Рабочие узлы (worker nodes) – это машины, на которых выполняются контейнеризированные приложения.
Kubelet, агент, который обменивается с API сервером и управляет контейнерами на своем узле.
Кube-proxy прокси Kubernetes, он балансирует нагрузку сетевого трафика между компонентами приложения и поддерживает сетевые правил для узлов.
Container runtime: это среда для выполнения контейнеров. Она жёстко не закреплена и может поддерживать контейнерные рантаймы, соответствующие интерфейсу CRI (Container Runtime Interface). Наиболее популярные из них — containerd и CRI-O
Post #58
561

- 🔥 5
- 👍 3