Длительность: 25 ч.
Описание
Существенной частью современной инфраструктуры являются контейнеры, и для управления ими нужны надежные средства. Технология Kubernetes стала одной из наиболее важных и эффективных платформ оркестрации для решения этих задач.
Данный курс предназначен для тех, кто только начинает знакомство с Kubernetes. Даже если вы пока ничего не знаете о Kubernetes, пройдя данный курс и выполнив все практические задания по программированию, вы сможете проводить развертывание собственных приложений на платформе Kubernetes.
В начале курса приводится обзор современных практик DevOps. Это поможет вам правильно ориентироваться в последующем материале.
Затем дается общее представление о технологии Kubernetes, архитектуре YAML, ее основных компонентах и сервисах, а также разъясняется, как они используются для создания инфраструктуры.
Вы научитесь описывать сущности с помощью языка YAML и читать другие описания, которые встречаются в книгах, документации и т.д.
Вы узнаете, как правильно настроить кластер Kubernetes на компьютере. В дальнейшем вы сможете использовать полученные знания в отношении облачной инфраструктуры сторонних провайдеров.
Шаг за шагом мы изучим основные сущности Kubernetes, такие как поды, метки, аннотации, сервисы, наборы реплик и др., а также научимся управлять ими. Вы сможете запускать приложения с сохранением и без сохранения состояния.
Для управления приложениями на платформе Kubernetes используется менеджер пакетов Helm. Вы узнаете, как с помощью Helm Charts можно определять, устанавливать и обновлять даже самые сложные приложения на базе Kubernetes и отказаться от копирования аналогичной информации в описании сущностей.
В конце курса обсуждаются темы безопасности и устранения неисправностей в случае неправильной работы системы.
Данный курс поможет слушателям получить представление о том, что из себя представляет платформа Kubernetes и как она работает, а также приобрести навыки развертывания кластера Kubernetes и приложений.
Разбираемые темы
1. Практики DevOps- Обзор современных подходов в DevOps
2. Общая картина
- Обзор платформы Kubernetes: истории ее создания, основные понятия, архитектура и компоненты
3. Развертывание кластера Kubernetes
- Настройка локального кластера
- Получение статуса кластера
4. Основные объекты Kubernetes
- Описание утилиты kubectl
- Описание пространств имен, контекста, подов
- Создание, обновление и уничтожение объектов Kubernetes
- Доступ к контейнерам
5. Описание объектов Kubernetes
- Использование API для описания объектов
- Основные сведения о YAML
- Примеры использования
- Написание файлов манифеста Kubernetes на языке YAML
6. Поды
- Описание подов и основных операций с ними: создание, перечисление, удаление, получение доступа
- Управление ресурсами
7. Метки и аннотации
- Описание меток и аннотаций
- Применение меток и аннотаций к подам и выбор объектов по критериям
8. Сервисы
- Описание сервисов и способов их обнаружения; как организованы сетевые ресурсы и как выполняются проверки готовности
- Создание сервиса на практике
9. ReplicaSets (наборы реплик)
- Описание наборов ReplicaSets, как они связаны с подами
- Создание, проверка, масштабирование и удаление ReplicaSets
- Использование средств автоматического горизонтального масштабирования подов
10. DaemonSets
- Описание наборов DaemonSets, как ограничить их в особых примечаниях, управление DaemonSet
11. StatefulSet
- Описание StatefulSet, запуск приложений с сохранением состояния, управление StatefulSet
12. Задания (Jobs)
- Шаблоны заданий, однократные, параллелизм
13. ConfigMaps и Secrets
- Описание ConfigMaps и Secrets
- Создание и использование ConfigMaps
- Потребление Secrets
14. Развертывания
- Описание развертываний и общие стратегии развертывания
- Управление развертываниями
15. Безопасность
- Описание модели управления доступом на основе ролей
- Учетные записи сервисов
- Роли и привязки ролей
- Применение контроллеров допуска
- Политики безопасности подов
16. Пакеты и шаблоны с использование Helm
- Описание шаблонов
- Общий рабочий процесс
- Helm чарты
17. Мониторинг и журналирование
- Описание ключевых понятий, метрики, мониторинг Kubernetes, сбор данных
18. Что дальше
- Краткое резюме, рекомендуемые книги, поставщики облачных решений, конкуренты/платные решения
Цели
- Получить представление о технологии Kubernetes и ее возможностях
- Разобраться в архитектуре Kubernetes
- Выполнить развертывание кластера Kubernetes Minikube на ноутбуке
- На практике выполнить основные операции с объектами Kubernetes
- Выполнить развертывание приложений с одним и несколькими контейнерами в Kubernetes
- Использовать сервисы Kubernetes для структурирования многоуровневых приложений
- Научиться управлять развертыванием приложений с выпуском в Kubernetes
- Обеспечить соблюдение предварительных условий и работоспособность контейнеров
- Научиться управлять конфигурационными, секретными и постоянно сохраняемыми данными в Kubernetes
- Рассмотреть популярные инструменты и темы, связанные с Kubernetes в рамках экосистемы
Целевая аудитория
Основная:- Инженеры DevOps
- Системные администраторы
- Разработчики полностековых приложений
- Инженеры по эксплуатации
- Все специалисты, которые занимаются созданием, развертыванием или эксплуатацией ПО на серверах
- Разработчики
- Архитекторы ПО
- Проектировщик систем
Предварительная подготовка
-
Знание Docker.
- Опыт использования оболочек Linux (например, bash).