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