K8S: знакомство и использование (блоки по 4 часа)
Введение. Предпосылки, причины и появление K8S
Теория + Демо
Теория: ручное управление ресурсами, почему это сложно и не работает в больших масштабах. Распределенные системы и их эволюция. История K8S.
Демо: автоматическое восстановление работоспособности приложения при отказе виртуальной машины или сервера.
Блок 1. Компоненты Kubernetes (часть 1)
Теория:
- Control Plane (kube-apiserver, etcd, kube-scheduler, kube-controller-manager)
- Node (kubelet, kube-proxy)
- Базовые примитивы (Service, Deployment, Ingress
Требования к приложению, запущенному в Kubernetes
Демо: базовое приложение в K8S (Web-приложение на Python)
Блок 2. Компоненты Kubernetes (часть 2)
Теория:
- Kubernetes как инструмент создания внутренней инфраструктурной платформы
- работа kube-scheduler (taints + tolerations, HPA)
- DaemonSet
- хранение данных в кластере (PV, PVC)
Демо:
Использование простейшего CSI для хранения данных
Блок 3. Сетевые компоненты K8S
Теория:
- Различия между разными реализациями сети
- Необходимые механизмы для реализации сети (bridge, veth)
Демо:
Разбор Calico или Cilium
Блок 4. Варианты поставки K8S
Теория:
- Что выбрать для развертывания: kubeadm, k3s, Rancher, kubespray
- Инициализация кластера с несколькими мастерами
- Подключение нод к кластеру
Демо:
- Разбираем конфигурацию k3s
- Разбор аварийных ситуаций: выход ноды из строя, замена ноды
Блок 5. Безопасность кластера K8S
Теория:
- Безопасность контейнеров
- Какие дополнительные угрозы приносит сам кластер в конфигурации по умолчанию
- Как устроен RBAC в K8S
Демо:
Демонстрация уязвимостей в контейнерах и чем это опасно в кластере
Блок 6. Пакетный менеджер и средство шаблонизации Helm
Теория:
- Почему плохо выкатывать просто манифесты
- Чем помогает шаблонизация манифестов
- Как помогает жить пакетный менеджер
Демо:
Создаем простейший Helm-чарт и устанавливаем его
Блок 7. Observability и сбор обратной связи в K8S
Теория:
- Интеграция Prometheus с Kubernetes, как работать с метриками приложения, графики приложений в Grafana
- Интеграция Elasticsearch и Kibana c Kubernetes, доставка логов приложения, основы работы с Kibana
Демо:
Добавление метрики в Prometheus, создание дашборда в Grafana. Сбор и поиск логов приложений в Kibana