Архив статей · зеркальная копия публикации
⚠️ Это архивная копия статьи, сохранённая для личного пользования и защиты от удаления. Оригинал: https://otus.ru/nest/post/692/. Все права на текст и изображения принадлежат OTUS и автору.
Андрей Павленко · 25.04.19 в 11:16

Пример выпускного проекта курса «DevOps практики и инструменты»

devops проектная работа traefik балансировщик балансировка нагрузки
Обложка статьи

Выполнение выпускного проекта предусмотрено в конце курса «DevOps практики и инструменты» в OTUS. Это самостоятельная работа, необходимая для закрепления полученных знаний. Предлагаем вашему вниманию проект балансировщика одного из наших выпускников, Вячеслава Егорова.

Вячеслав создал хорошо задокументированный проект, использующий стек ELK в кластере, Traefik и SSL для обеспечения доступа к сервисам и балансировки нагрузки.

Инфраструктура следующая:

Инфраструктура поднимается с помощью Terraform и выполняется в Shared gitlab-runner.

Давайте посмотрим на Pipeline проекта:

Pipeline проекта: Terraform, gitlab-runner, docker-swarm
Проектный pipeline: Terraform → GitLab CI → Docker Swarm

А вот принцип работы Traefik:

Принцип работы Traefik в кластере
Принцип работы Traefik: маршрутизация по labels контейнеров

Обратите внимание, что каждому контейнеру в кластере мы можем назначать label. И если label traefik.enable=true, то traefik найдёт контейнер и будет ждать подключения по адресу, прописанному в label.

deploy:
  labels:
    - traefik.enable=true
    - traefik.basic.frontend.rule=Host:shop.${DOMAIN}
    - traefik.basic.port=9090
    - traefik.basic.protocol=http

Подробную информацию об особенностях реализации вы можете узнать по ссылке на репозиторий или в презентации.

Проект был рассмотрен преподавательским составом и получил следующие оценки и рекомендации:

1. Преимущества:

2. Рекомендации:

Кроме того, были отмечены преимущества инструментария для работы с обратной связью проекта:

Также преподаватели порекомендовали уделить внимание процессу ci\cd, так как оптимальным решением будет вынести мониторинг в другой репозиторий для возможности работы инфраструктурной команды.

Несмотря на несколько рекомендаций, итоговый проект был признан успешным. Студент на практике продемонстрировал полученные знания и расширил своё профессиональное портфолио.

Читать оригинал на otus.ru →