Linux | DevOps

True Blue-green deploy to kubernetes

Проблема При дефолтном роллауте какое-то время одновременно доступны старый и новый деплоймент. Для некоторых приложений это критично, если изменения в коде не обратносовместимые. (к примеру, используется CDN и имена файлов не меняются, а меняются только аргументы обращений к ним: /index.0.js?t=12G33s15c) Такая стратегия обновления называется ramped. Решение Честный blue-green, когда переключение со старой версии софта на новую […]

Continue Reading...

Linux | DevOps | Network

Kubernetes blue-green 502 error

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

Continue Reading...