DevOps | Linux

Jenkins Pipeline With k8s Staging

Требование: С помощью Jenkins Pipeline на каждый пул-реквест поднимать стейдж окружение и делать web-доступ на индивидуальном поддомене в kubernetes кластере, чтобы прогонять тесты, проверять гипотезы и предоставлять заказчику preview выполненной работы. Описание: Для каждого PR поднимается свой деплой со своими deployment, service, ingress в namespace project-stage. Удаляются дейплои после закрытия PR с помощью скрипта и […]

Continue Reading...

Linux | DevOps | Network

Kubernetes blue-green 502 error

Проблема Во время, казалось бы, blue-green деплоя в k8s кластер, когда минимум 2 реплики, иногда проскакивают 502-е ошибки bad gateway. Причина Процесс в контейнере завершается быстрее, чем разойдутся правила iptables по нодам кластера (сервис продолжает слать трафик на удаленный контейнер). Решение Добавить sleep в prestop контейнера (sleep должен укладываться в grace период деплоймента).

Continue Reading...