О чём курс
Контейнеры являются неотъемлемой частью современной инфраструктуры. Для развёртывания и управления приложений в контейнерах используются оркестраторы. Kubernetes – это самая популярная платформа для оркестровки приложений.
Этот курс предназначен для абсолютных новичков в Kubernetes. Но пройдя курс и выполнив все задания, вы получите необходимые знания для развертывания собственных приложений на платформе Kubernetes.
Вы узнаете, что такое Kubernetes, познакомитесь с его архитектурой, изучите основные компоненты и службы.
Изучив язык YAML, вы сможете описывать сущности Kubernetes, а также будете понимать другие описания из книг, документации и кода других проектов.
Вы изучите основные сущности Kubernetes, такие как поды, наборы реплик и развёртывания для запуска приложений. Научитесь их связывать между собой с помощью меток, освоите декларативный и императивный подходы для управления ими. Вы узнаете, как организовано сетевое взаимодействие в Kubernetes, какие виды сервисов имеются и когда их следует использовать. Вы настроите приложение с помощью ConfigMaps и будете использовать сущности Secrets для хранения конфиденциальных данных, а тома для временного и постоянного хранения данных.
После этого курса у вас будет чёткое понимание того, что такое Kubernetes и как он работает, а также навыки развертывания кластера и приложений Kubernetes. Кроме того, вы сможете найти причины и устранить проблемы, если что-то пошло не так.
Цели
После завершения курса слушатели будут и смогут:
- знать, что такое Kubernetes и для чего он используется;
- знать архитектуру Kubernetes;
- развернуть кластер Kubernetes на локальном компьютере;
- выполнять базовые операции с объектами Kubernetes из командной строки;
- развернуть приложения в Kubernetes;
- управлять развертыванием приложений;
- управлять конфигурацией приложений с помощью ConfigMaps, Secret;
- хранить временные и постоянные данные в Kubernetes;
- знать популярные инструменты из экосистемы Kubernetes.
Целевая аудитория
Основная:
- Инженеры DevOps
- Системные администраторы
- Разработчики
- Специалисты по контролю качества и тестированию
- Любой, кто создает, развертывает или использует программное обеспечение на серверах.
Дополнительная:
- Архитекторы ПО
- Системные дизайнеры
Предварительная подготовка
- Опыт работы с Docker
- Опыт работы с простыми интерфейсами командной строки.
- Опыт выполнения базовых задач ОС
Темы курса
01
0. Начало работы (теория – 0,4 ч, практика – 0,3 ч)
- Знакомство.
- Установка и настройка окружения.
02
1. Kubernetes (теория – 0,7 ч)
03
2. Кластер (теория – 0,3 ч, практика – 0,7 ч)
Теория:
- Развертывание кластера.
- Работа с кластером.
Практика:
- Подготовка рабочей среды.
04
3. Kubernetes API (теория – 0,6 ч, практика – 0,7 ч)
- Знакомство с api.
- Инструменты Kubernetes API для получения информации о кластере.
05
4. Описание объектов Kubernetes (теория – 0,6 ч, практика – 0,4 ч)
Теория:
- Знакомство с YAML.
- Инструменты YAML.
Практика:
06
5. Пространства имён (теория - 0,4 ч, практика - 0,3 ч)
Теория:
- Инструменты пространства имен.
Практика:
- Создание пространства имен.
07
6. Поды (теория – 2,5 ч, практика – 2 ч)
Теория:
- Инструмент работы с подами.
- yq.
- Жизненный цикл пода.
- Контейнеры инициализации.
- Триггеры жизненного цикла пода.
- Контейнеры проверки.
Практика:
- Работа с подами.
- Работа с yq.
- Работа с триггерами.
- Работа с проверкой запуска.
- Работа с проверкой работоспособности.
- Работа с проверкой готовности.
08
7. Управление объектами (теория – 0,5 ч, практика – 0,5 ч)
Теория:
- Знакомство с объектами.
- Методы управления объектами.
- Императивные команды.
- Императивная конфигурация.
- Декларативная конфигурация.
Практика:
- Императивный запуск кода.
- Восстановление спецификации YAML из среды выполнения.
09
8. Управление ресурсами (теория – 0,7 ч, практика – 0,8 ч)
Теория:
- Знакомство с управлением ресурсами.
- Распределение ресурсов памяти.
- Распределение ресурсов ЦП.
Практика:
- Использование лимитов памяти.
- Использование лимитов ЦП.
10
9. Метки и аннотации (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Знакомство с метками.
- Синтаксис меток.
- Действия с метками.
- Знакомство с аннотациями.
- Действия с аннотациями.
Практика:
- Работа с метками.
- Работа с аннотациями.
11
10. ReplicaSets (теория – 0,8 ч, практика – 0,9 ч)
Теория:
- Знакомство с ReplicaSets.
- Инструменты ReplicaSets.
- Тупиковые ситуации.
Практика:
- Создание ReplicaSet.
- Получение подов без шаблонов.
- Управление количеством подов.
- Масштабирование ReplicaSet.
12
11. Развертывания (теория – 1,5 ч, практика – 1,3 ч)
Теория:
- Знакомство с развертыванием.
- Обновление развертывания.
- Стратегия "RollingUpdate".
- Контроль развертывания.
- История вывода.
- Откат развертывания.
- Выполнение откатов.
- Неудачное развертывание.
Практика:
- Создание развертывания.
- Выполнение обновления повторного создания.
- Выполнение плавных обновлений.
- Выполнение откатов.
- Масштабирование развертывания.
- Приостановка развертывания.
- Удаление развертывания.
13
12. Сервисы (теория – 1,5 ч, практика – 1,7 ч)
Теория:
- Знакомство с сервисами.
- Тип ClusterIP.
- Именованные порты.
- Спецификация ClusterIP.
- Обнаружение сервисов.
- Тип ExternalName.
- Тип Ingress.
Практика:
- Соединение сервиса с приложением.
- Обнаружение сервисов через EnvVars и DNS.
- Тип NodePort.
- Работа с сервисом NodePort.
- Тип LoadBalancer.
- Работа с сервисом LoadBalancer.
- Работа с сервисом Ingress.
14
13. ConfigMaps (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Знакомство с ConfigMaps.
- Варианты использования ConfigMaps.
- Обновление ConfigMaps.
Практика:
15
14. Secrets (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Обзор секретов.
- Типы секретов.
- Создание Secret.
- Варианты использования Secret.
- Инструменты работы с Secret.
- Риски.
Практика:
16
15. Тома (теория – 1 ч, практика – 1,3 ч)
Теория:
- Знакомство с томами.
- Спецификация томов.
- Тип emptyDir.
- Тип hostPath.
- Тип PersistentVolume.
- Жизненный цикл тома и требования.
- Типы персистентных томов.
Практика:
- Работа с томом emptyDir.
- Работа с персистентными томами.
17
16. Завершение (теория – 0,5 ч)
- Подведение итогов;
- Обзор тем для дальнейшего изучения;
- Обзор рекомендуемой литературы.
18
Всего: теория – 14,5ч (52%), практика – 13,5ч (48%)
Ведущий курса
Бирюков Андрей
Эксперт в области информационной безопасности