Kubernetes: введение
Один Docker-контейнер (урок 33) прост. А когда их десятки и они падают по графику — нужна оркестрация: самовосстановление, масштабирование и деплой без даунтайма.
Основные сущности
# 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: ghcr.io/x/web:1.4.0
ports:
- containerPort: 3000
💡
Kubernetes «всегда старается привести реальность к манифесту»: под упал — создаёт новый, replicas=3 — всегда три, image поменяли — раскатывает rolling update без простоя.
Ментальная модель
- pod — минимальная единица: контейнер с обёрткой (IP, сеть, storage);
- Deployment — желаемое состояние приложения: образ, копии, обновление;
- Service — стабильный адрес перед подами (под может смениться, адрес — нет);
- ConfigMap/Secret — конфигурация и секреты вне образа.
ℹ️
Junior-уровню достаточно объяснить концепции без администрирования кластера. Осваивать практику удобно на локальном minikube или managed-предложении облака (EKS/GKE).