Программа курса
Модуль 1: Docker (8 часов)
Лекция по Docker (4 часа)
- Введение в Docker и его роль в DevOps
- Установка Docker и его компонентов
- Работа с Docker-контейнерами
- Запуск приложений в Docker-контейнерах
Практическое занятие: Установка Docker и запуск контейнеров (4 часа)
- Установка Docker и управление контейнерами из под непривилегированного пользователя
- Работа с контейнерами. Создание, запуск и останов контейнеров.
- Создание образов контейнеров с помощью docker commit и Dockerfile. Отправка образа контейнера в реестр
- Создание и управление несколькими контейнерами с помощью компоновщика docker-compose
Модуль 2. Kubernetes (8 часов)
Лекция по Kubernetes (4 часа)
- Введение в Kubernetes и его роль в оркестрации контейнеров
- Установка Kubernetes и его компонентов
- Понятие подов, служб и воспроизводимых контейнеров
Практическое занятие: Развертывание приложений в Kubernetes. Установка, настройка доступа, развертывание приложений (4 часа)
- Подготовка серверов для развертывания Kubernetes кластера. Установка кластера Kubernetes с помощью kubeadm.
- Управление подами и службами в Kubernetes.
- Масштабирование и обновление приложений в Kubernetes
- Управление доступом в Kubernetes и безопасность.
- Установка и настройка приложения на примере Kubernetes Dashboard
Модуль 3: Ansible (8 часов)
Лекция по Ansible (4 часа)
- Ansible и его роль в автоматизации конфигурации и развертывания
- Установка Ansible, знакомство с модулями и сценариями
- Создание и управление инвентаризацией и плейбуками Ansible
Практическое занятие: Автоматизация администрирования Linux и Kubernetes с помощью Ansible (4 часа)
- Установка и настройка Ansible
- Написание и запуск Ansible сценариев
- Автоматизация развертывания приложений с помощью Ansible
Модуль 4: Развертывание инфраструктуры приложений на примере IaС решения Terraform (8 часов)
Лекция по Terraform (4 часа)
- Введение в Terraform и его роль в инфраструктурном кодировании
- Установка и настройка Terraform
- Создание, изменение и удаление инфраструктуры через Terraform
Практическое занятие: Использование инструмента Terraform (4 часа)
- Создание и управление инфраструктурой с помощью Terraform
- Использование переменных и модулей в Terraform
- Управление ресурсными записями Kubernetes с помощью Terraform
- Развертывание виртуальной машины с помощью Terraform
Модуль 5: Обзор инструментов и решений DevOps. Пример реализации CI/CD конвейера. (8 часов)
Лекция по инструментам DevOps. (4 часа)
- Системы контроля версий. Платформы и сервисы. Модель ветвления Gitflow.
- CI/CD инструменты
- Методология GitOps и ArgoCD как одного из инструментов её реализации
- Обзор инструментов развертывания инфраструктуры
- Обзор дополнительных инструментов Kubernetes: Развертывание, Мониторинг и автоматизация задач в Kubernetes.
- Обзор CI/CD решения на примере Tekton
Практическое занятие: Знакомство с CI/CD на примере minikube, Gitea, Tekton. GitOps с помощью ArgoCD (4 часа)
- Запуск тестового Kubernetes кластера на примере minikube.
- Включение поддержки постоянного хранилища
- Установка и использование внутреннего репозитория исходных кодов приложений с помощью Gitea
- Создание образов контейнеров внутри Kubernetes при помощи Tekton
- Знакомство с ресурсами Tekton. Таски и пайплайны
- Сборка приложения, создание и отправка образа контейнера в реестр образов с помощью Tekton
- Развертывание приложения по модели GitOps на примере ArgoCD