Шаг 1. С помощью репозитория aws_creation развернуть инфраструктуру на AWS. Данные действия нужно выполнять вручную, так как в репозитории содержатся крупные файлы, которые не хотелось бы добавлять в Git репозиторий (готовые конфигурации Gitlab, папка со служебными образами, хранящимися в Docker Registry). В случае изменения уже готовой инфраструктуры можно воспользоваться Terraform Cloud:
Шаг 2. Во время создания инфраструктуры будет создан EC2 инстанс для Gitlab, 3 EC2 инстанса для тестового окружения (1 master и 2 child) и 6 EC2 инстансов для рабочего окружения (3 master и 3 child). При этом во время инициализации инстанса для gitlab будет запущен скрипт для следующих задач:
- Установка docker, registry и gitlab на хост для gitlab. Установка производится с помощью репозитория gitlab;
- Настройка kubernetes кластера для окружений stage и prod. Данный репозиторий является клоном репозитория kubespray с добавлением возможности деплоя на динамический инвентарь ec2.
Шаг 3. После создания gitlab появится доступ к тестовому приложению. Учётные данные для доступа к данному приложению будут в ответе на сайте неталогии. Для данного приложения также настроен Gitlab CI для веток stage и prod, соответствующих окружению. Ссылки на рабочие экземпляры приложения: stage и prod. Внешний вид приложений:
Шаг 4. Также в gitlab имеется ссылка на конфигурацию для мониторинга. Ссылки на готовые панели мониторинга: stage и prod Учётные данные совпадают с учётными данными для gitlab. Настроены дашборды и тестовый алерт в discord для prod окружения. Внешний вид уведомлений дэшборда и уведомлений: