Добро пожаловать в демонстрационный DevOps-стенд, созданный для практики и экспериментов с инструментами автоматизации, мониторинга и CI/CD.
⚠️ Страница находится в разработке. Некоторые сервисы и компоненты могут быть временно недоступны.
| Сервис | Назначение |
|---|---|
| GitHub | Репозиторий с наработками: пайплайны, конфигурации, скрипты, Helm-чарты и др. |
| Приложение в Kubernetes-кластере | Тестовое web-приложение, развёрнутое в кластере. |
| Мониторинг кластера (Grafana) | Визуализация метрик Prometheus и логов Loki. |
| Telegram-бот | Получение уведомлений от Alertmanager. |
Стенд развёрнут на трёх физических узлах, объединённых в локальную сеть под общим доменом *.lab-sarychev.ru.
Используется как вспомогательный маршрутизатор и точка входа в стенд.
Основные функции:
- dnsmasq — DHCP-сервер, назначает IP-адреса и объединяет все хосты под единым доменом *.sarychev;
- OpenVPN — обеспечивает удалённый доступ в локальную сеть стенда;
- iptables — туннелирование внутреннего трафика через внешний VPN.
Запускает Proxmox и управляет кластерами виртуальных машин (ВМ), обеспечивающих CI/CD и мониторинг.
Основные ВМ:
- GitLab — репозиторий исходных кодов (в процессе миграции на Gitea);
- Jenkins — оркестрация пайплайнов:
• сборка Docker-образов и Helm-чартов;
• автоматизация создания и включения новых ВМ в кластер Kubernetes;
• деплой приложений в кластер;
- Jenkins Agent — исполняет пайплайны; содержит Docker, Ansible и Python;
- Nexus — хранение Docker-образов и Helm-пакетов;
- Мониторинг и логирование:
• Prometheus — сбор метрик Kubernetes;
• Loki — агрегация логов приложений;
• Alertmanager — уведомления о сбоях;
• Grafana — визуализация данных;
- Kubernetes Master-node — управляющая нода кластера;
- HAProxy — балансировщик нагрузки и точка входа для внешнего трафика.
Также управляется через Proxmox и выполняет роль worker-ноды Kubernetes.
Функции:
- Запуск рабочих нагрузок (pods) из кластера;
- Динамическое создание и присоединение новых worker-нод при помощи Jenkins;
- Поддержание устойчивости и распределения нагрузки между компонентами кластера.
Кластер k8s и тестовое приложение: