Содержание
- 2. О проекте сервер онлайн-касс язык разработки - Kotlin 15 сервисов ~ 35 000 торговых точек (~1500-2000
- 3. Зачем нужно создавать тестовые окружения Проблемы динамического создания окружений существующим стеком Использование Kubernetes, плюсы и минусы
- 4. Предыдущая модель разработки
- 5. Проблемы Для бизнеса Мелкие фичи долго ждут в RC Неудобно смотреть превью фич
- 6. Проблемы Для QA Неизолированное тестирование функционала Проблемы тестирования при появлении новых изменений
- 7. Проблемы Для разработчиков Конфликты при merge в staging Несовместимость структур в автотестах Помнить о merge из
- 8. Идеальная модель
- 9. Компромиссная модель
- 10. Отдельный домен (mk-1010.dev.modulkassa.local) Сборка сервисов из feature branch Заменить внешние интеграции моками Создание изолированной инфраструктуры для
- 11. Сборка в docker image Деплой ansible’ом Несколько серверов nginx как LB Что имеем на момент внедрения
- 13. Как развернуть сервисы на несколько серверов Как избежать конфликта портов на одном сервере Как заводить внешний
- 14. Автоматически распределит сервисы по серверам Namespace’ы чтобы избежать конфликта портов Делает LB для сервисов Не запрещает
- 15. apt install kubelet kubeadm kubectl && kubeadm init Сетевой plugin, маска сети pod’ов --pod-network-cidr=10.244.0.0/16 На что
- 16. Установить сетевой plugin Добавить в кластер сервера (kubeadm join) Доступ извне NodePort MetalLB Маршрутизация трафика внутри
- 17. MetalLB
- 18. MetalLB
- 20. Ingress?
- 21. Ingress? Ambassador!
- 22. Запускаем трафик в кластер
- 24. Отличие деплоя ansible и k8s ansible k8s
- 25. Удалить namespace k8s Удалить созданные данные Удалить домен Удаляем окружение
- 26. Значительно сократилось количество конфликтов Сократилось время вывода мелких фич/фиксов в production Более надежные результаты тестирования Технология
- 28. Скачать презентацию