О чём курс
Контейнеры являются неотъемлемой частью современной инфраструктуры. Для развёртывания и управления приложений в контейнерах используются оркестраторы. 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
Управление состоянием приложений
Сетевое взаимодействие и сервисы
Мониторинг и логирование
Инструменты
Расписание курсов
Программа курса
Знакомство.
Установка и настройка окружения.
Введение в Kubernetes, его история, архитектура и компоненты.
Теория:
Развертывание кластера.
Работа с кластером.
Практика:
Подготовка рабочей среды.
Знакомство с api.
Инструменты Kubernetes API для получения информации о кластере.
05
Описание объектов Kubernetes
Теория:
Знакомство с YAML.
Инструменты YAML.
Практика:
Написание кода на YAML.
Теория:
Инструменты пространства имен.
Практика:
Создание пространства имен.
Теория:
Инструмент работы с подами.
yq.
Жизненный цикл пода.
Контейнеры инициализации.
Триггеры жизненного цикла пода.
Контейнеры проверки.
Практика:
Работа с подами.
Работа с yq.
Работа с триггерами.
Работа с проверкой запуска.
Работа с проверкой работоспособности.
Работа с проверкой готовности.
Теория:
Знакомство с объектами.
Методы управления объектами.
Императивные команды.
Императивная конфигурация.
Декларативная конфигурация.
Практика:
Императивный запуск кода.
Восстановление спецификации YAML из среды выполнения.
Теория:
Знакомство с управлением ресурсами.;
Распределение ресурсов памяти.
Распределение ресурсов ЦП.
Практика:
Использование лимитов памяти.
Использование лимитов ЦП.
Теория:
Знакомство с метками.
Синтаксис меток.
Действия с метками.
Знакомство с аннотациями.
Действия с аннотациями.
Практика:
Работа с метками.
Работа с аннотациями.
Теория:
Знакомство с ReplicaSets.
Инструменты ReplicaSets.
Тупиковые ситуации.
Практика:
Создание ReplicaSet.
Получение подов без шаблонов.
Управление количеством подов.
Масштабирование ReplicaSet.
Теория:
Знакомство с развертыванием.
Обновление развертывания.
Стратегия "RollingUpdate".
Контроль развертывания.
История вывода.
Откат развертывания.&
Выполнение откатов.
Неудачное развертывание.
Практика:
Создание развертывания.
Выполнение обновления повторного создания.
Выполнение плавных обновлений.
Выполнение откатов.
Масштабирование развертывания.
Приостановка развертывания.
Удаление развертывания.
Теория:
Знакомство с сервисами.
Тип ClusterIP.
Именованные порты.
Спецификация ClusterIP.
Обнаружение сервисов.
Тип ExternalName.
Тип Ingress.
Практика:
Соединение сервиса с приложением.
Обнаружение сервисов через EnvVars и DNS.
Тип NodePort.&
Работа с сервисом NodePort.
Тип LoadBalancer.
Работа с сервисом LoadBalancer.
Работа с сервисом Ingress.
Теория:
Знакомство с ConfigMaps.
Варианты использования ConfigMaps.
Обновление ConfigMaps.;
Практика:
Работа с ConfigMap.
Теория:
Обзор секретов.
Типы секретов.
Создание Secret.
Варианты использования Secret.
Инструменты работы с Secret.
Риски.
Практика:
Работа с Secret.
Теория:
Знакомство с томами.
Спецификация томов.
Тип emptyDir.
Тип hostPath.
Тип PersistentVolume.
Жизненный цикл тома и требования.
Типы персистентных томов.
Практика:
Работа с томом emptyDir.
Работа с персистентными томами.
Подведение итогов;
Обзор тем для дальнейшего изучения;
Обзор рекомендуемой литературы.
18
Всего: теория – 14,5ч (52%), практика – 13,5ч (48%)
Чему вы научитесь
01
Научитесь основным компонентам архитектуры Kubernetes, включая поды, реплика-сеты, деплойменты и сервисы,
02
Освоите методы развертывания приложений в Kubernetes,
03
Научитесь использовать механизмы управления состоянием, такие как автоскейлинг и управление доступностью
04
Освоите принципы сетевого взаимодействия в Kubernetes, включая создание сервисов для доступа к подам и использование Ingress для управления внешним трафиком
05
Научитесь использовать инструменты мониторинга и логирования для отслеживания состояния приложений и кластеров в Kubernetes
Курс проводят
Буравцов Евгений
Эксперт в области DevOps/системного администрирования
О тренере
C 2019 года руководит командой DevOps-инженеров, DBA, системных администраторов в компании АО «БАРС Груп».
Имеет опыт работы в ИТ-аутсорсинге более 15 лет с государственными и частными заказчиками по различным ИТ-проектам:
- создание, сопровождение и развитие аппаратной и программной инфраструктуры с применением практик DevOps и DevSecOps;
- решение инцидентов, обеспечение информационной безопасности;
- техническая экспертиза проектов, создания/адаптации/миграции информационных систем, их интеграции с другими системами или с аппаратными средствами
Евгений занимался научно-исследовательской работой в УГАТУ и имеет опыт преподавания ИТ-курсов, математических и прикладных дисциплин.