Kubernetes
Kubernetes — рулевой, штурман (греч.)
Суть в одном предложении
Kubernetes — это система оркестрации контейнеров, автоматически управляющая их запуском, масштабированием и отказоустойчивостью.
Краткое определение
Kubernetes (K8s) — это платформа для управления контейнеризированными приложениями, которая обеспечивает автоматический деплой, масштабирование и восстановление сервисов.
Оригинал и перевод
- Язык: английский
- Оригинал: Kubernetes
- Буквальный перевод: штурман, рулевой
Синонимы и варианты написания
- K8s
- Кубер
- Kubernetes cluster
Происхождение
Kubernetes был разработан в Google на основе их внутренней системы Borg и открыт в 2014 году как open-source проект.
Где используется
- Облачная инфраструктура
- Микросервисная архитектура
- High-load системы
- SaaS-платформы
- DevOps-проекты
Когда это важно
Kubernetes становится критичным, когда:
- используется много контейнеров
- нужна автоматическая масштабируемость
- требуется высокая доступность
- инфраструктура распределённая
Подробное объяснение
Docker запускает контейнеры.
Kubernetes управляет ими в кластере.
Если один контейнер упал — Kubernetes запустит новый.
Если нагрузка выросла — увеличит количество реплик.
Основные сущности Kubernetes
- Cluster — группа серверов
- Node — сервер внутри кластера
- Pod — минимальная единица (1 или несколько контейнеров)
- Deployment — управление версиями и масштабом
- Service — доступ к приложению
- ConfigMap — конфигурация
- Secret — хранение секретов
Пример Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: app
spec:
replicas: 3
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: app
image: my-app:latest
ports:
- containerPort: 80
Команда применения:
kubectl apply -f deployment.yaml
Что делает Kubernetes автоматически
- Балансирует нагрузку
- Перезапускает упавшие контейнеры
- Обновляет сервис без простоя
- Масштабирует приложение
- Управляет сетью контейнеров
Kubernetes ≠ Docker
Docker — контейнеризация. Kubernetes — оркестрация контейнеров.
Где особенно актуален
- SaaS-платформы
- Микросервисы
- High-load API
- Облачные среды (AWS, GCP, Azure)
Для небольшого VPS с WordPress Kubernetes чаще избыточен.
Что не является Kubernetes
- Контейнер
- Виртуальная машина
- CI/CD система
- Хостинг
Аналоги и связанные термины
- Docker
- Orchestrator
- Pod
- Deployment
- Service
- GitOps
Пример использования
«Приложение развернуто в Kubernetes-кластере с автоскейлингом до 10 реплик.»
Мини-FAQ
Нужен ли Kubernetes для одного сервера? Обычно нет. Это избыточное решение.
Можно ли использовать Kubernetes без Docker? Да, но всё равно используются контейнерные runtime (например, containerd).
Смотри также
- Docker
- GitOps
- Deployment
- Containerization