Kubernetes основы для собеседований
Основы Kubernetes для собеседований: поды, деплойменты, сервисы и как всё это связано. Понятное введение для джуна DevOps без лишней теории, с примером манифеста.
Коротко. Kubernetes (K8s) — система оркестрации контейнеров: запускает, масштабирует и перезапускает контейнеры автоматически. Джуну достаточно понимать несколько объектов — Pod, Deployment, Service — и как они связаны. Учить K8s стоит после уверенного Docker.
Зачем нужен Kubernetes
Один Docker хорош для нескольких контейнеров. Но когда их десятки, нужно автоматически распределять нагрузку, перезапускать упавшие, катить обновления без простоя и масштабироваться под трафик. Это и делает Kubernetes.
Ключевые объекты
| Объект | Что это |
|---|---|
| Pod | Минимальная единица: один или несколько контейнеров |
| Deployment | Управляет подами: сколько реплик, как обновлять |
| Service | Стабильная точка доступа к подам (сеть) |
| Namespace | Логическое разделение ресурсов |
| ConfigMap / Secret | Конфиги и секреты отдельно от образа |
Связь простая: Deployment создаёт и держит нужное число Pod, а Service даёт к ним постоянный адрес.
Пример манифеста
Deployment на 2 реплики приложения:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 2
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:1.0
ports:
- containerPort: 3000
K8s декларативен: вы описываете желаемое состояние, а он приводит систему к нему и поддерживает.
Базовые команды kubectl
kubectl apply -f deploy.yaml— применить манифест.kubectl get pods— список подов.kubectl logs POD— логи пода.kubectl describe pod POD— детали и события (для отладки).kubectl scale deployment myapp --replicas=3— масштабировать.
Частые вопросы
Нужен ли Kubernetes джуну?
Глубоко — нет. Достаточно понимать Pod/Deployment/Service и уметь читать манифесты. Это частый вопрос на собеседовании DevOps.
Где потренироваться?
Локально через minikube или kind — поднимают кластер на вашем компьютере бесплатно.
Что учить перед K8s?
Docker и основы сетей. Без уверенного Docker в Kubernetes идти рано — см. Docker для новичка.