Требование: С помощью Jenkins Pipeline на каждый пул-реквест поднимать стейдж окружение и делать web-доступ на индивидуальном поддомене в kubernetes кластере, чтобы прогонять тесты, проверять гипотезы и предоставлять заказчику preview выполненной работы. Описание: Для каждого PR поднимается свой деплой со своими deployment, service, ingress в namespace project-stage. Удаляются дейплои после закрытия PR с помощью скрипта и […]
Метка: k8s
Проблема Во время, казалось бы, blue-green деплоя в k8s кластер, когда минимум 2 реплики, иногда проскакивают 502-е ошибки bad gateway. Причина Процесс в контейнере завершается быстрее, чем разойдутся правила iptables по нодам кластера (сервис продолжает слать трафик на удаленный контейнер). Решение Добавить sleep в prestop контейнера (sleep должен укладываться в grace период деплоймента).