0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: devops, проектная работа, traefik, балансировщик, балансировка нагрузки</p>
1
<p>Теги: devops, проектная работа, traefik, балансировщик, балансировка нагрузки</p>
2
<p>Выполнение выпускного проекта предусмотрено в конце курса<a>"DevOps практики и инструменты"</a>в OTUS. Это самостоятельная работа, необходимая для закрепления полученных знаний. Предлагаем вашему вниманию проект балансировщика одного из наших выпускников,<strong>Вячеслава Егорова</strong>.</p>
2
<p>Выполнение выпускного проекта предусмотрено в конце курса<a>"DevOps практики и инструменты"</a>в OTUS. Это самостоятельная работа, необходимая для закрепления полученных знаний. Предлагаем вашему вниманию проект балансировщика одного из наших выпускников,<strong>Вячеслава Егорова</strong>.</p>
3
<p>Вячеслав создал хорошо задокументированный проект, использующий стек ELK в кластере,<strong>Traefik</strong>и SSL для обеспечения доступа к сервисам и балансировки нагрузки.</p>
3
<p>Вячеслав создал хорошо задокументированный проект, использующий стек ELK в кластере,<strong>Traefik</strong>и SSL для обеспечения доступа к сервисам и балансировки нагрузки.</p>
4
<p>Инфраструктура следующая: - поднимаются ВМ; - внутри - docker-swarm-cluster; - остальное - в виде абстракции Stack в Docker swarm.</p>
4
<p>Инфраструктура следующая: - поднимаются ВМ; - внутри - docker-swarm-cluster; - остальное - в виде абстракции Stack в Docker swarm.</p>
5
<p>Инфраструктура поднимается с помощью Terraform и выполняется в Shared gitlab-runner.</p>
5
<p>Инфраструктура поднимается с помощью Terraform и выполняется в Shared gitlab-runner.</p>
6
<p>Давайте посмотрим на<strong>Pipeline</strong>проекта:</p>
6
<p>Давайте посмотрим на<strong>Pipeline</strong>проекта:</p>
7
<p>А вот принцип работы<strong>Traefik</strong>:</p>
7
<p>А вот принцип работы<strong>Traefik</strong>:</p>
8
<p>Обратите внимание, что каждому контейнеру в кластере мы можем назначать label. И если label traefik.enable=true, то traefik найдёт контейнер и будет ждать подключения по адресу, прописанному в label.</p>
8
<p>Обратите внимание, что каждому контейнеру в кластере мы можем назначать label. И если label traefik.enable=true, то traefik найдёт контейнер и будет ждать подключения по адресу, прописанному в label.</p>
9
deploy: labels: - traefik.enable=true - traefik.basic.frontend.rule=Host:shop.${DOMAIN} - traefik.basic.port=9090 - traefik.basic.protocol=http<p>Подробную информацию об особенностях реализации вы можете узнать по ссылке на<a>репозиторий</a>или в<a>презентации</a>.</p>
9
deploy: labels: - traefik.enable=true - traefik.basic.frontend.rule=Host:shop.${DOMAIN} - traefik.basic.port=9090 - traefik.basic.protocol=http<p>Подробную информацию об особенностях реализации вы можете узнать по ссылке на<a>репозиторий</a>или в<a>презентации</a>.</p>
10
<p>Проект был рассмотрен преподавательским составом и получил следующие оценки и рекомендации: 1.<strong>Преимущества</strong>: - использование Traefik для доступа к сервисам с автоматическим получением сертификатов SSL; - управление Google DNS при помощи Ansible; - использование в проекте Docker swarm является и плюсом и минусом одновременно; - применённое приложение Sockshop в лучших традициях показывает, что такое микросервис; - решение использовать Swarmprom достаточно логично. 2.<strong>Рекомендации</strong>: - постараться разработать и добавить свои метрики и визуализировать их в Grafana; - разработать CI\CD; - доработать систему разворота окружения; - внедрить систему логирования; - доработать документацию.</p>
10
<p>Проект был рассмотрен преподавательским составом и получил следующие оценки и рекомендации: 1.<strong>Преимущества</strong>: - использование Traefik для доступа к сервисам с автоматическим получением сертификатов SSL; - управление Google DNS при помощи Ansible; - использование в проекте Docker swarm является и плюсом и минусом одновременно; - применённое приложение Sockshop в лучших традициях показывает, что такое микросервис; - решение использовать Swarmprom достаточно логично. 2.<strong>Рекомендации</strong>: - постараться разработать и добавить свои метрики и визуализировать их в Grafana; - разработать CI\CD; - доработать систему разворота окружения; - внедрить систему логирования; - доработать документацию.</p>
11
<p>Кроме того, были отмечены преимущества инструментария для работы с обратной связью проекта: - Swarmprom-сборка для мониторинга кластера Docker swarm; - кластер ELK для логирования, шаблоны для парсинга логов.</p>
11
<p>Кроме того, были отмечены преимущества инструментария для работы с обратной связью проекта: - Swarmprom-сборка для мониторинга кластера Docker swarm; - кластер ELK для логирования, шаблоны для парсинга логов.</p>
12
<p>Также преподаватели порекомендовали уделить внимание процессу ci\cd, так как оптимальным решением будет вынести мониторинг в другой репозиторий для возможности работы инфраструктурной команды.</p>
12
<p>Также преподаватели порекомендовали уделить внимание процессу ci\cd, так как оптимальным решением будет вынести мониторинг в другой репозиторий для возможности работы инфраструктурной команды.</p>
13
<p>Несмотря на несколько рекомендаций, итоговый проект был признан успешным. Студент на практике продемонстрировал полученные знания и расширил своё профессиональное портфолио.</p>
13
<p>Несмотря на несколько рекомендаций, итоговый проект был признан успешным. Студент на практике продемонстрировал полученные знания и расширил своё профессиональное портфолио.</p>
14
14