Лучшая CD-стратегия для Kubernetes Deployments
Наш текущий этап развертывания CI работает следующим образом:
Сборка контейнеров.Пометить изображения как"latest"
а также< commit hash >
.Нажмите на изображения в хранилище.Вызвать обновляемое обновление соответствующих RC (ов).Это отлично работает для развертываний на базе RC, но теперь, когдаDeployment
Объект становится все более стабильным и основной функцией, мы хотим использовать эту абстракцию над нашими текущими схемами развертывания и фазами разработки.
У меня проблемы с поиском разумного способа автоматизировать обновлениеDeployment
с рабочим процессом CI. Я экспериментировал с тем, чтобы разделить репозиторий git и сделать что-то вроде:
"latest"
а также< commit hash >
.[App Build] Push изображения в хранилище.[Сборка приложения] Вызов сборки приложенияDeployment
репо, проходящий через текущий хеш коммита.[Сборка развертывания] Интерполировать токены файла манифеста (в настоящее время это просто переданный хеш коммита, например,image: app-%%COMMIT_HASH%%
)[Сборка развертывания] Примените обновленный манифест к соответствующемуDeployment
Ресурсы).Конечно, есть лучший способ справиться с этим. Было бы здорово, если быDeployment
отслеживаются изменения хеша "последнего" тега изображения ... может быть, это уже происходит? У меня не было успеха с этим. Любые мысли или идеи о том, как лучше справляться с развертываниемDeployment
будет оценено :)