DevOps-инженеры используют Kubernetes (k8s) для управления нагрузками между контейнерами, автоматизируют развёртывание и обеспечивают приватность данных. Компании заинтересованы в услугах DevOps-инженеров, архитектурных инженеров, системных администраторов и разработчиков со знанием Kubernetes.
Кому подойдёт этот курс:
Системным администраторам
Получите навыки платформенного инженера и сможете самостоятельно создать инфраструктурную платформу в своей компании.
DevOps-инженерам
Научитесь управлять сложной микросервисной архитектурой, масштабировать приложения и настраивать непрерывную интеграцию. Будете знать достаточно, чтобы успешно пройти сертификацию CKA для DevOps-инженеров.
Разработчикам
Узнаете, как запускать приложения в различных окружениях, включая Production. Научитесь использовать экосистему по максимуму, отлаживать проекты и изменять процедуры развёртывания и конфигурирования.
Для обучения на курсе нужно уметь:
— настраивать конфигурацию серверов;
— приложений и сервисов на Linux;
— работать в командной строке bash;
— запускать приложения в Docker;
— использовать систему контроля версий Git;
— иметь представление о работе сети и понимать, как устроены микросервисные приложения.
Чему вы научитесь:
Понимать архитектуру k8s
Познакомитесь с компонентами и объектами кластера. Научитесь разворачивать кластер локально в minikube.
Обеспечивать безопасность данных
Научитесь создавать пользователей, разграничивать права и делать приложения в кластере доступными извне. Сможете безопасно хранить пароли пользователей, API-ключи и сертификаты в микросервисах при помощи Vault.
Деплоить приложения в кластер
Helm — инструмент, который позволит без боли управлять приложениями в Kubernetes. Вы научитесь загружать и обновлять репозитории, компоновать сложные приложения за счёт вложенности шаблонов.
Масштабировать приложения
Узнаете, как с помощью Kubernetes оптимально распределить память между контейнерами. Научитесь использовать Load Balancing и серверные метрики для масштабирования приложений в зависимости от нагрузки.
Следить за компонентами кластера
Научитесь работать с Prometheus и визуализировать данные в Grafana. Построите свои SLA/SLO. Научитесь повышать безопасность кластера с помощью service mesh Istio и визуализировать traces-запросы с Jaeger.
Интегрировать CI/CD в Kubernetes
Разберёте стратегии деплоймента и узнаете, как автоматизировать процессы сборки, упаковки и тестирования компонентов. Ускорите внедрение новых функций в проекты. Научитесь устанавливать и эксплуатировать кластер.
Программа:
1. Знакомство с Kubernetes: основные понятия и архитектура
Узнаете об архитектуре k8s и его внутренних компонентах. Развернёте свой собственный kubernetes-кластер локально в minikube.
2. Основные объекты Kubernetes
Познакомитесь с основными объектами Kubernetes.
3. Безопасность и управление доступом
Узнаете, как создавать пользователей и разграничивать права.
4. Сетевая подсистема Kubernetes
Сделаете приложение в кластере доступным извне.
5. Хранение данных в Kubernetes
Сделаете приложение в кластере доступным извне.
6. Шаблоны: Helm и его аналоги
Научитесь деплоить свои приложения в кластер с помощью Helm.
7. HPA
Научитесь масштабировать приложение в зависимости от нагрузки.
8. Мониторинг компонентов кластера и приложений, работающих в нем
Научитесь мониторить компоненты кластера и приложений, работающих в н`м.
Построите свои собственные SLA/SLO.
9. Service Mesh. Знакомство с Istio & Envoy
Научитесь использовать service mesh для повышения безопасности вашего кластера и визуализировать трейсы запросов с Jaeger.
10. Kubernetes для непрерывной поставки CI/CD. Интеграция с CI сервисом
Узнаете, как строить CI/CD pipeline.
11. Эксплуатация кластера
Научитесь устанавливать, обновлять и дебажить кластер, подготовитесь к Certified Kubernetes Administrator.
12. Итоговый проект
Напишете полноценную инфраструктурную платформу на основе кластера Kubernetes.
По ходу работы над проектом вы: настроите CI/CD-пайплайн в Gitlab CI, установите и настроите мониторинг в Grafana с SLO/SLA, настроите автоскейлинг подов, обеспечите безопасное хранение приватной информации ваших приложений в Vault, внедрите service mesh Istio и настроите mTLS для безопасного взаимодействия контейнеров, добавите open tracing на основе Jaeger.