облачная оркестрация

Kubernetes —
контейнеры под контролем

Открытая платформа для автоматизации развёртывания, масштабирования и управления контейнеризированными приложениями. Один кластер — сотни сервисов, и всё это предсказуемо.

архитектура

Control Plane и рабочие узлы

Управляющий слой принимает решения, узлы запускают поды. Всё общение — через API-сервер.

Control Plane API Server Scheduler Controller Manager etcd хранилище состояния Worker Node 1 kubelet · kube-proxy поды с приложениями Worker Node 2 kubelet · kube-proxy поды с приложениями Worker Node N горизонтальное масштабирование Service / Ingress балансировка маршрутизация трафика рабочая нагрузка управление
что это

Зачем нужен Kubernetes

Когда приложение состоит из десятков контейнеров, вручную ими уже не управлять. Kubernetes берёт на себя рутину.

Самовосстановление

Если под упал — Kubernetes перезапустит его. Если узел вышел из строя — перенесёт нагрузку на другие.

Автомасштабирование

HPA добавляет поды при росте нагрузки и убирает лишние, когда трафик спадает.

Сервис-дискавери

Сервисы находят друг друга по DNS-именам, а балансировка трафика работает из коробки.

Декларативность

Вы описываете желаемое состояние в YAML, а кластер сам приводит систему к нему.

Переносимость

Один и тот же манифест работает локально, в облаке и на собственном железе.

Обновления без простоя

Rolling update постепенно заменяет поды, а rollback возвращает предыдущую версию.

возможности

Ключевые компоненты

То, с чем вы будете работать каждый день.

PodsМинимальная единица запуска — один или несколько контейнеров.
DeploymentsУправляют репликами и стратегией обновления приложения.
ServicesСтабильная точка доступа к набору подов и балансировка.
IngressHTTP-маршрутизация и TLS для внешнего трафика.
ConfigMaps & SecretsКонфигурация и чувствительные данные отдельно от образов.
VolumesПостоянное хранилище для данных, переживающих перезапуск подов.
1кластер — много сервисов
0простоя при rolling update
100%декларативный подход
CNCFоткрытый проект
быстрый старт

Первое приложение за минуту

Примените манифест — и Deployment с сервисом будет создан кластером.

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - name: web
        image: nginx:1.27
        ports:
        - containerPort: 80

Готовы к оркестрации?

Разверните кластер, примените первый манифест и масштабируйте приложение без ручной рутины.

Начать с Kubernetes