Техническое задание: Развертывание и обучение работе с Kubernetes
Цель проекта
Полный перенос существующего монолитного проекта в микросервисную архитектуру на платформе Kubernetes с параллельным обучением заказчика всем этапам процесса.
Ключевые задачи
1. Инфраструктура и кластер
- Развертывание отказоустойчивого кластера Kubernetes: 3 master-ноды и 3 worker-ноды.
- Настройка сетевой политики и доступа.
2. Базы данных с репликацией
- Развертывание синхронного кластера MySQL Galera (3 пода).
- Развертывание кластера Redis с репликацией (3 пода).
- Консультация по подготовке схемы БД для перехода на UUID (если требуется).
3. Приложение и доставка
- Создание Docker-образа для существующего проекта.
- Разделение приложения на отдельные микросервисы/поды согласно лучшим практикам.
- Настройка Ingress-контроллера для маршрутизации внешнего трафика.
- Настройка Health Checks, ресурсных лимитов (limits/requests).
4. Безопасность и управление конфигурацией
- Обязательное использование Helm для управления релизами и чартами.
- Интеграция с HashiCorp Vault для управления секретами (пароли, ключи, токены).
5. Обучение
- Поэтапное совместное выполнение всех работ с подробными объяснениями.
- Обучение процессу: от сборки Docker-образа до полного развертывания рабочего кластера.
- Предоставление документации и рекомендаций по дальнейшей поддержке.
Требования к исполнителю
- Глубокий практический опыт работы с Kubernetes, Helm, Vault.
- Опыт настройки кластерных СУБД (MySQL Galera, Redis Cluster).
- Умение четко и структурировано объяснять сложные технические концепции.