Kubernetes
Оркестрация контейнеров для масштабируемых приложений
📦 Кластер в реальном времени
NODE-1
POD-1
NODE-2
POD-2
NODE-3
● Running: 2● Creating: 0
●●●kubectl-terminal
▶ Интерактивная симуляция масштабирования
Kubernetes автоматически распределяет поды по узлам
Что такое Kubernetes?
Kubernetes (K8s) — это система оркестрации контейнеров для автоматизации развертывания, масштабирования и управления приложениями.
Изначально разработана Google, сейчас поддерживается Cloud Native Computing Foundation (CNCF).
Ключевые возможности
- •Автоматическое масштабирование
- •Self-healing и автоперезапуск
- •Service discovery и балансировка
- •Rolling updates без downtime
Pods
Наименьшая развертываемая единица — группа из одного или нескольких контейнеров
Services
Абстракция для доступа к pod'ам с балансировкой нагрузки
Deployments
Декларативное описание состояния приложения
🔄 Rolling Update Visualization
v1.0:4 pods
v2.0:0 pods
Requests:0
pod-1
v1.0
running
pod-2
v1.0
running
pod-3
v1.0
running
pod-4
v1.0
running
Update Strategy: RollingUpdate (maxSurge: 1, maxUnavailable: 1)
Running - Pod обрабатывает запросы
Ready - Pod готов к работе
Starting - Pod запускается
Terminating - Pod завершается
☸️ Pod Lifecycle Visualizer
Загрузка...
Основные команды kubectl
# Получить список подов
kubectl get pods
kubectl get pods
# Применить конфигурацию
kubectl apply -f deployment.yaml
kubectl apply -f deployment.yaml
# Масштабирование deployment
kubectl scale deployment my-app --replicas=3
kubectl scale deployment my-app --replicas=3
# Логи пода
kubectl logs -f pod-name
kubectl logs -f pod-name
# Rolling restart deployment
kubectl rollout restart deployment my-app
kubectl rollout restart deployment my-app
# Статус rollout
kubectl rollout status deployment my-app
kubectl rollout status deployment my-app