Kubernetes (K8s)

Kubernetes (K8s) — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями.

Kubernetes, часто сокращенно K8s, — это платформа оркестровки контейнеров, которая автоматизирует развертывание, масштабирование и управление контейнеризированными приложениями. Она группирует контейнеры, составляющие приложение, в логические единицы для удобного управления и обнаружения. Kubernetes предоставляет декларативный подход к управлению приложениями, позволяя пользователям определять желаемое состояние своих приложений, а система работает над достижением этого состояния.

Разработанный изначально Google, Kubernetes сейчас поддерживается Cloud Native Computing Foundation (CNCF). Он поддерживает различные среды выполнения контейнеров, включая Docker, containerd и CRI-O. Kubernetes разработан таким образом, чтобы быть высоко расширяемым и может использоваться для управления приложениями в различных средах, от локальных центров обработки данных до публичных облаков.

        graph LR
  Center["Kubernetes (K8s)"]:::main
  Pre_docker["docker"]:::pre --> Center
  click Pre_docker "/terms/docker"
  Rel_container_orchestration["container-orchestration"]:::related -.-> Center
  click Rel_container_orchestration "/terms/container-orchestration"
  Rel_microservices["microservices"]:::related -.-> Center
  click Rel_microservices "/terms/microservices"
  Rel_devops["devops"]:::related -.-> Center
  click Rel_devops "/terms/devops"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

🎼 Представьте огромный оркестр, где сотни музыкантов (контейнеры [Docker](/ru/terms/docker)). Чтобы музыка звучала идеально, нужен дирижер. Kubernetes — это такой дирижер. Он следит, чтобы все вступали вовремя, играли в такт, а если кто-то заболеет — мгновенно находит замену, чтобы концерт не прекращался.

🤓 Expert Deep Dive

Архитектура K8s разделяется на Control Plane (центр управления) и Worker Nodes (рабочие узлы). Основной единицей развертывания является Pod (под), который может содержать один или несколько контейнеров. Связь между ними обеспечивают Сервисы (Services), а состояние кластера хранится в базе данных etcd. Благодаря механизмам самолечения и автоматического масштабирования, Kubernetes стал стандартом для облачных технологий.

🔗 Связанные термины

Предварительные знания:

📚 Источники