Если кто думает как реализовать Canary deployment



Проанализировала для вас flagger по сравнению с argo rollouts



Flagger



- написан на go

- нет экстренного отката (есть возобновление предыдущего деплоя)

- нет прерывания

+ есть ускоренное проматывание накатки трафика

- нет UI

- при повторении зафейленного релиза - если не меняется манифест - ничего не произойдет

+ хорошо встраивается, так как создает минимальное количество сущностей для k8s

+ в CD часть не сложно манипулировать, там только helm и доп настроек и инсталляций не нужно

+ по числу звезд лидирует на GitHub (опциональное приемущество)

+ есть отдельная нотификация в слак, и другие и легкая интеграция без доп установок

Описание:

Сам flagger встраивается в istio/ingress и ставится в один и тот же неймспейс



Argo rollouts



- написан на go

+ экстренный откат

+ прерывание

+ ускоренное проматывание трафика вперед

+ есть UI

+ использование argoCD и argo Rollouts совместно и логично

- не тестировался кейс с повтором одного и того же релиза

- много модернизаций в helm, другое поведение у HPA (там нужно выставлять зависимость от арго роллаут) что влечет за собой отслеживание версий hpa

- для агентов нужно доставлять плагин для реализации откатов, сам плагин прикручивается к kubectl

- внедрение и настройки в манифестах больше чем во flagger



🔥IT STAND | FIDELINA.RU | Бот