Учебное пособие по дисциплине "Автоматизация разработки и эксплуатации ПО" (АРЭ ПО).
Видеозаписи лекций:
Презентации:
Дополнительные ссылки:
Занятие 1 (Лаб 1). Настройка виртуальной машины Linux
Автор: Михаил Кучеренко
Задачи:
- Знакомство с Ubuntu 20.04.
- Поставить docker, через bash, сетевые интерфейсы.
Занятие 2 (РК 1). Практические навыки работы с Docker - контейнер с PostgreSQL
Авторы: Михаил Кучеренко + Алексей Якубов
Задачи:
- Первая половина:
- Работа с PostgreSQL/MySQL
- Docker Volume
- Вторая половина:
- Php My Admin/Adminer во втором контейнере
Занятие 3 (Лаб 2). Балансировка + docker-compose
Автор: Антон Балашов
Задачи:
- Первая половина:
- HTML страничка
- Балансировщик nginx (HAProxy)
- Вторая половина:
Итог 4 взаимосвязанных контейнера в docker-compose:
- субд postgresql, проверяем как работают volumes
- микросервис-1, только отдает html страничку
- микросервис-2, обращатеся в БД, сетевое взаимодействие
- балансировщик (haproxy/nginx) с port-forwarding-ом, будет перенаправлять запросы на другие контейнеры
Занятие 4 (ДЗ 1). Настройка CI/CD в GitLab
Автор: Дмитрий Аладин
Задачи:
- Первая половина:
- Создание репозитория GitLab/GitHub
- Управление репозиторием с помощью команд git
- Вторая половина:
- Добавление в репозиторий проекта с юнит-тестами
- Настройка Pipeline в GitLab/GitHub:
- Проверка качества кода
- Активация юнит-тестов
- Сборка проекта в бинарник и публикация в артефакты Releases
- Настройка Runner-ов
- Активация настроенных Pipeline
Занятие 5 (Лаб 3). Мониторинг: Prometehus + Grafana + Alertmanager
Автор: Михаил Кучеренко
Задачи:
- Установили Prometheus + Grafana + Alertmanager.
- Настроили мониторинг, написали конфиги.
- Если плохо - использовать готовый образ
Занятие 6 (ДЗ 2). Ansible, Playbook
Автор: Антон Балашов
Задачи:
- Создаем виртуалку поменьше чтобы мониторить из первой виртуалки
- Пишем playbook, который автоматизирует развертывание виртуалки
- В конце выключаем 2 имеющихся виртуалки
Занятие 7 (Лаб 4). Развертывание кластера Kubernetes
Автор: Алексей Якубов
Задачи:
- minikube - 8 RAM достаточно. Из коробки не заработает. Для тех, у кого мощные машины - у большинства, дадим в кластере
- В отдельной виртуалке кубер. Много манифестов написать
Итог - все контейнеры поднять в кубере и замониторить
Занятие 8 (РК 2). Индивидуальное задание
Автор: Алексей Якубов
Задачи:
- Развернуть свой проект из 5 лабораторной курса РИП в контейнеры Docker Compose: Django + ORM + таблица в MySQL (без AJAX, SPA и React)
По вашей дипломной работе необходимо создать контейнеры Docker Compose, без Kubernetes. Например: React, Django REST или что-то свое.
По ДЗ BASIS от Ростелеком: Helm, и тд - только для сертификата Ростелекома
- Открытая вечерняя школа. Kubernetes для разработчиков (Осень 2021)
- Микрослужбы .NET: Архитектура контейнерных приложений .NET
- Обсуждение книги Мартина Клеппмана "Designing Data-Intensive Applications" в формате подкастов Tinkoff Reader Club "Code of Architecture"