瀏覽代碼

Добавить 'Лекции/\Arkhitektura_Sovremennogo_STAKa/FourLecture'

u23novikov 1 月之前
父節點
當前提交
be1afb014c
共有 1 個文件被更改,包括 19 次插入0 次删除
  1. 19 0
      Лекции/Arkhitektura_Sovremennogo_STAKa/FourLecture

+ 19 - 0
Лекции/Arkhitektura_Sovremennogo_STAKa/FourLecture

@@ -0,0 +1,19 @@
+Лекция 4: Оркестрация контейнеров: от cgroups до declarative deployment в Kubernetes
+
+**Оркестрация контейнеров — это процесс автоматизации развертывания, масштабирования, управления сетью и обеспечения отказоустойчивости контейнеризированных приложений**. Решение этой задачи выросло из необходимости управлять сотнями и тысячами изолированных процессов (контейнеров), работающих в распределенном кластере машин. Kubernetes (K8s), ставший отраслевым стандартом, абстрагирует отдельные физические или виртуальные машины в единый **вычислительный ресурсный пул**, предоставляя API для декларативного описания желаемого состояния приложения.
+
+![](image13.png)
+
+Фундаментальной технологической основой является **изоляция процессов на уровне ОС** через механизмы ядра Linux: **cgroups (control groups)** для ограничения ресурсов (CPU, memory) и **namespaces** для изоляции сетевого стека, файловой системы и процессов. Контейнер (например, Docker) — это упакованный процесс со своей средой, использующий эти механизмы. **Kubernetes не создает контейнеры**, а работает с ними как с атомарными единицами развертывания, упакованными в **Pod** — минимальную deployable unit, которая может содержать один или несколько тесно связанных контейнеров.
+
+### Таблица 4. Основные объекты Kubernetes и их аналогии
+| Объект Kubernetes | Абстракция / Аналог | Декларативная цель | Кто обеспечивает? |
+|-------------------|---------------------|-------------------|-------------------|
+| Pod (Под) | Виртуальный «хост» для контейнеров. | Запустить одну или несколько контейнеров на одном узле с общим сетевым пространством и хранилищем. | Kubelet (агент на узле). |
+| Deployment (Развертывание) | Declaration of Replica Set для stateless-приложения. | Поддерживать заданное количество идентированных реплик Pod'ов, обеспечивая rolling updates и rollback. | Deployment Controller (часть Control Plane). |
+| Service (Сервис) | Стабильная сетевая endpoint и балансировщик нагрузки. | Предоставить стабильный DNS-имя и IP для доступа к динамическому набору Pod'ов (по селектору labels). | kube-proxy (сетевой прокси на узлах). |
+| ConfigMap / Secret | Внешняя конфигурация и чувствительные данные. | Отделить конфигурацию от образа контейнера. Предоставить ее Pod'ам в виде переменных окружения или файлов. | Kubelet (монтирует данные в Pod). |
+
+Ключевой парадигмой K8s является **декларативное управление состоянием через control loop**. Пользователь описывает желаемое состояние в YAML-манифесте (например, `replicas: 3`). **Контроллеры (controllers)** в Control Plane (например, Deployment Controller) постоянно наблюдают за реальным состоянием кластера и, обнаружив расхождение (например, упал 1 Pod), выполняют действия для приведения реальности к декларации (запускают новый Pod). Этот принцип делает систему самоисцеляющейся (self-healing) и предсказуемой.
+
+Таким образом, оркестрация контейнеров с помощью Kubernetes — это **эволюция абстракций управления вычислительными ресурсами**, поднимающая уровень абстракции от отдельных машин и скриптов развертывания до глобального «операционной системы для дата-центра», где приложение определяется его желаемым состоянием, а система гарантирует его поддержание.