Зачем обновлять версию helm чарта для FluxCD
Работая с FluxCD мне довелось познать очень интересный момент. Оказывается, он кеширует ваши Helm чарты и порой может разворачивать деплойменты не в том виде, в каком вы хотите.
Вся инфраструктура в нашем Kubernetes кластере поднимается с помощью чудесного FluxCD.
Это отличное решение для IaC которое позволяет имплементировать GitOps в ваш кластер.
Давайте для новеньких я объясню что это и с чем его едят.
У вас есть 1,2,5…n количество Helm чартов. Что бы задеплоить каждый из них, вы должны проделать helm instal
для каждого из них.
FluxCD позволяет разместить все чарты в вашем рапозитории, засетапить только Flux provisioner в кластер, который будет пулить (публичный или приватный) репозиторий и поднимать инфраструктуру за вас. Если нужно поменять, скажем, env переменную в каком-то деплойменте - вы просто пушите изменения в репозиторий а FluxCD проапдейтит деплоймент за вас. Чудо, не правда ли?
На практике все работает отлично, НО, если при обновлении чартов в репозитории вы обновляете версию чарта.
Возможно кто-то из вас это и так знал, но для меня это стало открытием, спустя, 5 часов мучительной битвы с Flux.
Подготовил я Helm чарт, отладил его, руками все идеально поднимается.
Закидываю его в Flux - все окей.
Добавляю я в чарт Container port: 80
, деплою руками - все ок. Пушу в в гит, флюкс разворачивает деплоймент, делаю дескрайб пода - Container port: <null>
Первая мысль - не понял
Делаю изменения уже не в values
флюкса а в values.yaml
- тоже самое
Делаю еще изменения еще пул -<null>
В итоге я провозился 5 часов делая различные деплои и порой недоумевал, что выставляя одни параметры - флюкс деплоит совершенно другое.
Потом я решил, а давайте я просто кильну провижионер и посмотрю, что произойдет, и, вуа-ля, деплоймент поднялся именно таким, каким я хотел, и Container port: 80
А через некоторое время мне сказал коллега, что бы FluxCD обновил деплоймент с новыми изменениями, нужно указать Новую версию для Helm чарты который используется.
В итоге, если у вас проблема со странным деплоием от флюкса, у вас только 2 решения:
- Обновить версию хелм чарта
- Кильнуть поды флюкса