Описание
Контейнеры являются неотъемлемой частью современной инфраструктуры. Для развёртывания и управления приложений в контейнерах используются оркестраторы. Kubernetes – это самая популярная платформа для оркестровки приложений.
Этот курс предназначен для абсолютных новичков в Kubernetes. Но пройдя курс и выполнив все задания, вы получите необходимые знания для развертывания собственных приложений на платформе Kubernetes.
Вы узнаете, что такое Kubernetes, познакомитесь с его архитектурой, изучите основные компоненты и службы.
Изучив язык YAML, вы сможете описывать сущности Kubernetes, а также будете понимать другие описания из книг, документации и кода других проектов.
Вы изучите основные сущности Kubernetes, такие как поды, наборы реплик и развёртывания для запуска приложений. Научитесь их связывать между собой с помощью меток, освоите декларативный и императивный подходы для управления ими. Вы узнаете, как организовано сетевое взаимодействие в Kubernetes, какие виды сервисов имеются и когда их следует использовать. Вы настроите приложение с помощью ConfigMaps и будете использовать сущности Secrets для хранения конфиденциальных данных, а тома для временного и постоянного хранения данных.
После этого курса у вас будет чёткое понимание того, что такое Kubernetes и как он работает, а также навыки развертывания кластера и приложений Kubernetes. Кроме того, вы сможете найти причины и устранить проблемы, если что-то пошло не так.
удостоверение о повышении квалификации государственного образца
Цели
- знать, что такое Kubernetes и для чего он используется;
- знать архитектуру Kubernetes;
- развернуть кластер Kubernetes на локальном компьютере;
- выполнять базовые операции с объектами Kubernetes из командной строки;
- развернуть приложения в Kubernetes;
- управлять развертыванием приложений;
- управлять конфигурацией приложений с помощью ConfigMaps, Secret;
- хранить временные и постоянные данные в Kubernetes;
- знать популярные инструменты из экосистемы Kubernetes.
Целевая аудитория
- Инженеры DevOps
- Системные администраторы
- Разработчики
- Специалисты по контролю качества и тестированию
- Любой, кто создает, развертывает или использует программное обеспечение на серверах.
- Архитекторы ПО
- Системные дизайнеры
Предварительная подготовка
- Опыт работы с Docker
- Опыт работы с простыми интерфейсами командной строки.
- Опыт выполнения базовых задач ОС
Разбираемые темы
-
0. Начало работы (теория – 0,4 ч, практика – 0,3 ч)
- Знакомство.
- Установка и настройка окружения.
-
1. Kubernetes (теория – 0,7 ч)
-
Введение в Kubernetes, его история, архитектура и компоненты.
-
-
2. Кластер (теория – 0,3 ч, практика – 0,7 ч)
Теория:
- Развертывание кластера.
- Работа с кластером.
- Подготовка рабочей среды.
-
3. Kubernetes API (теория – 0,6 ч, практика – 0,7 ч)
- Знакомство с api.
- Инструменты Kubernetes API для получения информации о кластере.
-
4. Описание объектов Kubernetes (теория – 0,6 ч, практика – 0,4 ч)
Теория:
- Знакомство с YAML.
- Инструменты YAML.
- Написание кода на YAML.
-
5. Пространства имён (теория - 0,4 ч, практика - 0,3 ч)
Теория:
- Инструменты пространства имен.
- Создание пространства имен.
-
6. Поды (теория – 2,5 ч, практика – 2 ч)
Теория:
- Инструмент работы с подами.
- yq.
- Жизненный цикл пода.
- Контейнеры инициализации.
- Триггеры жизненного цикла пода.
- Контейнеры проверки.
- Работа с подами.
- Работа с yq.
- Работа с триггерами.
- Работа с проверкой запуска.
- Работа с проверкой работоспособности.
- Работа с проверкой готовности.
-
7. Управление объектами (теория – 0,5 ч, практика – 0,5 ч)
Теория:
- Знакомство с объектами.
- Методы управления объектами.
- Императивные команды.
- Императивная конфигурация.
- Декларативная конфигурация.
- Императивный запуск кода.
- Восстановление спецификации YAML из среды выполнения.
-
8. Управление ресурсами (теория – 0,7 ч, практика – 0,8 ч)
Теория:
- Знакомство с управлением ресурсами.
- Распределение ресурсов памяти.
- Распределение ресурсов ЦП.
- Использование лимитов памяти.
- Использование лимитов ЦП.
-
9. Метки и аннотации (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Знакомство с метками.
- Синтаксис меток.
- Действия с метками.
- Знакомство с аннотациями.
- Действия с аннотациями.
- Работа с метками.
- Работа с аннотациями.
-
10. ReplicaSets (теория – 0,8 ч, практика – 0,9 ч)
Теория:
- Знакомство с ReplicaSets.
- Инструменты ReplicaSets.
- Тупиковые ситуации.
- Создание ReplicaSet.
- Получение подов без шаблонов.
- Управление количеством подов.
- Масштабирование ReplicaSet.
-
11. Развертывания (теория – 1,5 ч, практика – 1,3 ч)
Теория:
- Знакомство с развертыванием.
- Обновление развертывания.
- Стратегия "RollingUpdate".
- Контроль развертывания.
- История вывода.
- Откат развертывания.
- Выполнение откатов.
- Неудачное развертывание.
- Создание развертывания.
- Выполнение обновления повторного создания.
- Выполнение плавных обновлений.
- Выполнение откатов.
- Масштабирование развертывания.
- Приостановка развертывания.
- Удаление развертывания.
-
12. Сервисы (теория – 1,5 ч, практика – 1,7 ч)
Теория:
- Знакомство с сервисами.
- Тип ClusterIP.
- Именованные порты.
- Спецификация ClusterIP.
- Обнаружение сервисов.
- Тип ExternalName.
- Тип Ingress.
- Соединение сервиса с приложением.
- Обнаружение сервисов через EnvVars и DNS.
- Тип NodePort.
- Работа с сервисом NodePort.
- Тип LoadBalancer.
- Работа с сервисом LoadBalancer.
- Работа с сервисом Ingress.
-
13. ConfigMaps (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Знакомство с ConfigMaps.
- Варианты использования ConfigMaps.
- Обновление ConfigMaps.
- Работа с ConfigMap.
-
14. Secrets (теория – 0,8 ч, практика – 0,8 ч)
Теория:
- Обзор секретов.
- Типы секретов.
- Создание Secret.
- Варианты использования Secret.
- Инструменты работы с Secret.
- Риски.
- Работа с Secret.
-
15. Тома (теория – 1 ч, практика – 1,3 ч)
Теория:
- Знакомство с томами.
- Спецификация томов.
- Тип emptyDir.
- Тип hostPath.
- Тип PersistentVolume.
- Жизненный цикл тома и требования.
- Типы персистентных томов.
- Работа с томом emptyDir.
- Работа с персистентными томами.
- Знакомство с томами.
-
16. Завершение (теория – 0,5 ч)
- Подведение итогов;
- Обзор тем для дальнейшего изучения;
- Обзор рекомендуемой литературы.
-
Всего: теория – 14,5ч (52%), практика – 13,5ч (48%)
Более 15 лет работает в области информационной безопасности и информационных технологий начиная с позиции инженера и до руководителя направления. Имеет большой опыт проектирования и внедрения инфраструктурных решений на базе ОС Linux, FreeBSD, Windows, систем виртуализации и контейнеризации и активного сетевого оборудования. В области ИБ основными направлениями являются SIEM/SOAR, IRP, PAM, EDR, внедрение сетевых средств защиты, средств защиты среды виртуализации и других.
О проектах:
Преподавательской деятельностью занимается с 2019 года. За это время разработал несколько авторских курсов по информационной безопасности: "Практическая защита в АСУТП", "Управление инцидентами ИБ", "Реверсивный инжиниринг ПО под Windows". В актуальное время читает курсы как в офлайн и в онлайн формате.
О публикациях и выступлениях:
Является автором шести книг посвященных различным вопросам информационной безопасности и более 300 статей в различных изданиях, также посвященными ИТ и ИБ.
Неоднократно выступал с докладами на конференциях Positive Hack Days, ИБ КВО.