backup: 2026-04-17 11:28
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
---
|
||||
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]]
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2026-02-13
|
||||
updated: 2026-02-27
|
||||
title: ReplicaSet
|
||||
---
|
||||
|
||||
# ReplicaSet
|
||||
**ReplicaSet** - базовый контроллер в K8s, задача которого - поддерживать в кластере ровно столько реплик подов, сколько было указано в конфигурации.
|
||||
|
||||
ReplicaSet постоянно сравнивает текущее состояние кластера с желаемым состоянием, которое описано администратором.
|
||||
Состоит из трех ключевых элементов:
|
||||
1) Селектор (Selector) - определяет, какими подами должен управлять этот RS.
|
||||
2) Количество реплик (Replicas) - число, указывающее на желаемое количество реплик в поде.
|
||||
3) Шаблон пода (Pod Template) - описание того, как должен выглядеть новый под, если его понадобится создать.
|
||||
Reference in New Issue
Block a user