leon4eg13ru microservices repository
- Создан docker host
- Создан своq образ и конфигурация для него
- Образ опубликован в публичном Docker hub под именем leon4eg/otus-reddit:1.0
- приложение разбито на несколько компонентов
- образы comment и ui оптимизированы под alpine-версии
- в docker-compose.yml добавлены сети для бекэнда и фронтэнда
- параметризованы параметры USERNAME, PORT, COMPOSE_PROJECT_NAME и создан отдельный файл .env для них
- базовое имя проекта задается через переменную COMPOSE_PROJECT_NAME
- создан docker-compose.override.yml, в котором вынесены файлы для изменения кода каждого из приложений, не выполняя сборку образа
- Подготовлена инсталляция Gitlab CI
- Подготовлен репозиторий с кодом приложения
- Описаны этапы пайплайна
- Определены окружения
- запущен и настроен prometheus
- настроен мониторинг состояния микросервисов
- настроен сбор метрик с использованием mongodb-exporter, node-exporter, cloudprober
- собранные образы доступны по ссылке https://hub.docker.com/u/leon4eg
- настроено логгирование docker-контейнеров
- запущен и настроен стек для сборки логов ElasticSearch/Fluentd/Kibana
- Fluentd настроен для сборки структурированных и неструктурированных логов
- подключен распределенный трейсинг приложения с помощью Zipkin
- запущен и настроен Kubernetes средствами kubeadm
kubeadm init --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint=node-01.ru-central1.internal --apiserver-advertise-address=10.10.0.19
- настроена сеть между нодами и мастером с помощью сетевого плагина calico
NAME STATUS ROLES AGE VERSION node-01 Ready control-plane,master,worker 34m v1.22.2 node-02 Ready worker 31m v1.22.2
- проверен деплой созданых манифестов
NAME READY STATUS RESTARTS AGE comment-deployment-6fd5474494-dqxd7 1/1 Running 0 49s mongo-deployment-545fd54f7c-m49g4 1/1 Running 0 2m21s post-deployment-799c77ffb-46nmc 1/1 Running 0 24m ui-deployment-7998b8c4c6-kp4gf 1/1 Running 0 4m44s