Мы обучаем Kubernetes c 2018 года: наши курсы постоянно обновляются и дают только актуальную информацию. У нас есть разные курсы по k8s: базовый, продвинутый, по мониторингу и логированию и безопасности.
Если вам нужно больше одного курса, выгодно покупать комплектом со скидкой. На этой странице представлены комплекты курсов, которые мы составили под разные задачи.
Тема 1: Знакомство с Kubernetes, основные компоненты Зачем: чтобы верхнеуровнево понять, что такое Kubernetes, а также с какими абстракциями Kubernetes придется 100% работать в будущем и как эти абстракции работают.
Введение в технологию k8s. Описание, применение, концепции
Тема 2: Устройство кластера, основные компоненты, отказоустойчивость, сеть k8s Зачем: чтобы инженер понимал, как работает Kubernetes и из каких компонентов он состоит. Это позволит более продуктивно проводить траблшутинг и не работать с Kubernetes, как с черным ящиком.
Устройство кластера, основные компоненты, отказоустойчивость
Сеть k8s
Тема 3: Kubespray, тюнинг и настройка кластера Kubernetes Зачем: чтобы знать, как можно установить Kubernetes у себя.
Kubespray, настройка и тюнинг кластера Kubernetes
Практическая работа
Тема 4: Продвинутые абстракции Kubernetes Зачем: чтобы с помощью дополнительных абстракций расширить спектр своих возможностей в рамках работы с Kubernetes.
DaemonSet, StatefulSet, RBAC, Job, CronJob, Pod Scheduling, InitContainer
Практическая работа
Тема 5: DNS в кластере. Публикация сервисов и приложений Зачем: чтобы понимать, как на уровне сети и сетевых абстракций работает Kubernetes. Это позволит использовать правильные абстракции для настройки внутреннего и внешнего сетевого взаимодействия приложений, запущенных в Kubernetes.
Устройство DNS в Kubernetes
Обзор методов публикации сервисов: NodePort vs LoadBalancer vs Ingress
Тема 6: Введение в Helm Зачем: чтобы научиться темплейтировать свое приложение. Этот подход позволяет гибко работать с манифестами приложения в Kubernetes, организовать правильную разработку и деплой.
Работа с Helm
Состав чарта
Написание собственных чартов
Практическая работа
Тема 7: Подключение системы хранения данных на примере Ceph Зачем: чтобы на примере Ceph понять, как подключить СХД в кластер Kubernetes для дальнейшего использования со stateful-приложениями.
Установка СХД Ceph
Подключение RBD и CephFS томов с помощью CSI drivers
Практическая работа
Тема 8: Установка cert-manager Зачем: чтобы понять, как автоматизированно подключить и продлять TLS-сертификат вашему веб-приложению.
Сert-manager: автоматически получаем сертификаты SSL/TLS
Практическая работа
Тема 9: CI/CD в Kubernetes Зачем: чтобы правильно настроить деплой своего приложения в кластер Kubernetes.
Настройка CI/CD приложения в Кубернетес
Практическая работа
Итоговая практическая работа (сертификация) Зачем: для закрепления всех полученных знаний на практике; задания охватывают все аспекты работы с Kubernetes.
Программа
Тема №1. Введение
Тема №2. Создание отказоустойчивого кластера изнутри Разбор архитектуры Kubernetes, различных методов обеспечения высокой доступности. Создание кластера вручную, с помощью утилиты kubeadm.
Тема №3. Аутентификация пользователей в кластере Аутентификация и авторизация пользователей в кластере k8s, механизмы аутентификации, практическая работа по настройке интеграции Active Directory и Kubernetes.
Тема №4. Network Policy Обзор популярных сетевых плагинов для Kubernetes. Изучение механизма настройки кластерного фаервола в Kubernetes.
Тема №5. Безопасность и высокодоступные приложения в кластере Познакомимся с инструментами Kubernetes, которые позволяют сделать работу в Kubernetes более безопасной, а приложение более отказоустойчивым. Узнаем, как контролировать указание Limits/Requests разработчиками, как запретить использование root-контейнеров в Namespace.
Тема №6. Kubernetes под капотом Подробно разбираем работу scheduler, API Server, Controller manager, учимся делать собственные операторы для Kubernetes.
Тема №7. Stateful приложения в кластере Поговорим о том, как запускать базу данных в Kubernetes и стоит ли это делать. Обсудим, какие базы данных лучше подойдут для запуска, а какие менее. Обсудим какие есть подводные камни при запуске баз данных в Kubernetes.
Тема №8. Хранение секретов Приемы работы с секретами в кубернетес. Интеграция Hashicorp Vault, автоматизированная передача настроек из Vault в приложение с помощью веб-хука от Banzai Clod.
Тема №9. Horisontal Pod Autoscaler Разбираемся с автоскейлингом приложений в кластере. На практике смотрим на механизмы работы. Подключаем кастомные метрики к автоскейлеру кластера.
Тема № 10. Резервное копирование кластера Методы резервного копирования кластера и запущенных в нем приложений. Практические примеры бекапа на манифестов на примере Velero.
Тема №11. Ротация сертификатов в кластере Служебные сертификаты для Control Plane утилита kubeadm создает со сроком действия 1 год: что делать, чтобы вовремя продлить сертификаты и ваш кластер смог проработать дольше года.
Тема №12. Deploy Смотрим на альтернативные механизмы деплоя приложений в кластер, разбираемся с тем что такое Service mesh и зачем он нужен, на практике смотрим на Istio.
Тема №13. Service Mesh Смотрим на альтернативные механизмы деплоя приложений в кластер, разбираемся с тем что такое Service mesh и зачем он нужен, на практике смотрим на Istio.
Программа
Тема №1: Введение Расскажем всё о процессе обучения и как получить доступы
№2: Введение в безопасность проекта на Kubernetes
Задача инженера: Понимать основные принципы безопасности проекта, живущего в Kubernetes. Знать о моделях угроз.
Практика и теория: Что такое безопасность проекта в контексте Kubernetes? Sec, Dev, Ops - как всем подружиться и жить счастливо?
№3: Защита Control Plane кластера
Задача инженера: Не допустить перехват управления кластером злоумышленником. Знать best practices по защите основных компонентов Kubernetes и иметь под рукой чек-лист, позволяющий проверить проект на потенциальные уязвимости.
Практика и теория: Insecure port API, защита ETCD, анонимная авторизация, на что ещё обратить внимание? Как с помощью CIS Benchmarks повысить свою уверенность в безопасности
№4: Авторизация, аутентификация и аккаунтинг в Kubernetes
Задача инженера: На глубинном уровне понимать, как работает авторизация и аутентификация в кластере Kubernetes и знать, как правильно их приготовить. Уметь не только настроить эти процессы безопасно, но и визуализировать их, а также сделать процесс идентификации пользователя более удобным с помощью Keycloak.
Практика и теория: Как с помощью Keycloak выстроить рабочий, удобный и безопасный процесс идентификации пользователей в кластере? Как работает авторизация и аутентификация в Kubernetes?
№5: Scaning Automation
Задача инженера: Научиться работать с безопасностью при зарождении проекта – на этапе написания кода.
Практика и теория: Как убедиться, что в написанном коде нет уязвимостей? Чем могут помочь такие инструменты, как Sast/SecretScan, и как их использовать? Как анализировать sensitive данные прямо в CI?
№6: Использование Policy Engine и Admission Controller'ов
Задача инженера: Уметь настроить политики безопасности с помощью Policy Engine внутри кластера Kubernetes. Понимать, как работают Admission Controllers и знать, чем можно заменить Pod Security Policy.
Практика и теория: Как с помощью таких представителей Policy Engine, как Kyverno или Open Policy Agent, контролировать всё, что создается в кластере и заменить собой большинство Admission Controller'ов, таких как PSP? Как работают Admission Webhooks, и как с их помощью можно реализовать в кластере валидацию и изменение практически всего, что угодно?
№7: Безопасность контейнера
Задача инженера: Знать инструменты, которые могут обеспечить безопасность контейнера и максимально усложнят жизнь злоумышленнику.
Практика и теория: Что там с SELinux и Kubernetes, нужно ли оно? Использовать AppArmor или нет? Как закручивать гайки процессам контейнеров с помощью Seccomp-профилей и Capabilities? Какие существуют Best Practices по безопасности контейнеров в контексте Kubernetes и не только?
№8: Безопасное хранение Secrets
Задача инженера: Знать, как правильно хранить свои чувствительные данные в кластере Kubernetes.
Практика и теория: Где и как хранить пароли и токены своего проекта, чтобы они были в безопасности?
№9: Kubernetes Networking
Задача инженера: Уметь гибко создавать и управлять сетевыми правилами в кластере Kubernetes.
Практика и теория: Как организовать сетевую изоляцию сред в рамках кластера? Как сделать так, чтобы проект по сети обращался только к выбранным эндпоинтам?
№10: Управление угрозами в Kubernetes
Задача инженера: Понять, на что требуется обращать внимание в своем проекте с точки зрения безопасности и в каких моментах держать руку на пульсе.
Практика и теория: Как observability помогает в безопасности проекта?
Программа
№1: Вводный блок
Что такое мониторинг? Зачем он нужен?
Что такое метрики и как с ними работать?
Мониторинг VS Observability
№2: Установка Prometheus
Установка в Kubernetes
Разбор специфичных для Kubernetes exporter'ов
№3: Тюнинг Prometheus
Service Discovery в Kubernetes
Работа с конфигом
Важные параметры конфигурации
№4: Продвинутый Prometheus
Построение федерации
Подключение внешних долговременных хранилищ (Victoria Metrics)
№5: Grafana
Установка в Kubernetes
Организация пользователей и доступов (org, teams, ldap)
Data Source
Dashboards. Используем готовые и пишем свои
Provisioning
Grafana Enterprise
№6: Prometheus Operator
Установка
Структура
CRD
Дополнительная конфигурация
№7: Логирование
EFK: Elastic, Fluentd vs Fluent-bit vs Logstash, Kibana
Установка и настройка
Фильтрация/агрегирование/дедубликация
Написание своих dashboards
Настройка алертов
Установка и настройка
Фильтрация/агрегирование/дедубликация
Написание своих dashboards
Настройка алертов
Loki + promtail
Установка, настройка
Подключение к Grafana и Grafana Cloud
№8: Мониторинг и логирование Kubernetes в Production. Собираем весь инструментарий воедино