57 lines
3.2 KiB
Markdown
57 lines
3.2 KiB
Markdown
---
|
|
status: stable
|
|
type: concept
|
|
tags:
|
|
- devops
|
|
- container
|
|
created: 2026-02-13
|
|
updated: 2026-02-27
|
|
title: Kubernetes
|
|
---
|
|
|
|
# Kubernetes
|
|
K8s состоит из двух основных компонент:
|
|
1) **Control Plane** - плоскость управления
|
|
2) **Data Plane** - плоскость данных
|
|
![[Pasted image 20251220211253.png|600]]
|
|
|
|
## Компоненты Control Plane
|
|
1) etcd - open-source key-value хранилище, использующее алгоритм консенсуса raft для обеспечения надежного способа хранения данных.
|
|
В k8s используется для хранения конфигурации всего кластера.
|
|
![[Pasted image 20251220211307.png|300]]
|
|
2) kube-api-server - основной компонент для взаимодействия с кластером и обязательный посредник между всем компонентами k8s в data и control plane
|
|
- используется REST API
|
|
- является точкой входа в кластер
|
|
- обязательный участник любого взаимодействия с компонентами кластера
|
|
- обеспечение разграничивания прав доступа к содержимому кластера (авторизация и аутентификация)
|
|
- stateless-компонент
|
|
- установка на каждую master-ноду
|
|
- выбор лидера происходит по алгоритму **lease**
|
|
|
|
> [!abstract] lease
|
|
> Алгоритм выбора лидирующего узла в распределнных системах, позволяющий сохранять консистентность данных
|
|
> Суть проста: узел, который первым запишет себя в хранилище конфигурации кластера, как лидер, тот и станет лидером
|
|
> Если лидер перестал выполнять свои функции, то борьба за место лидера по такому же принципу
|
|
|
|
3) kube-controller-manager - компонент, ответственный за работу контроллеров.
|
|
- связывает kube-controller и отвечает за их работу
|
|
- сборка мусора
|
|
- stateless
|
|
- на каждой master-ноде
|
|
- выбор лидера аналогично по алгоритму lease
|
|
![[Pasted image 20251220211330.png|400]]
|
|
|
|
Существующие kube-controllers:
|
|
- node-controller - поддержка связи с узлами кластера, инициализация перенаправления рабочих нагрузок с вышедший из строя узлов.
|
|
- replicaset-c. - инициализация процедуры создания и функционирования сущности [[ReplicaSet]]
|
|
- endpoint-c.
|
|
- token-c.
|
|
- account-c.
|
|
|
|
Конспект от MA: [[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]]
|
|
|
|
Другие решения:
|
|
[[Docker Swarm]]
|
|
[[Apache Mesos]]
|
|
[[HashiCorp Nomad]]
|