Использование Helm для управления моим «приложением», но kubectl для управления версией - PullRequest
1 голос
/ 16 января 2020

Итак, я пытаюсь использовать helm для установки приложения в мой кластер kubernetes. Допустим, на графике тег изображения равен 1.0.0.

Затем, как часть конвейера сборки CI / CD, я бы хотел обновить тег изображения с помощью kubectl, то есть kubectl set image deployment/myapp...

Проблема в том, что если я впоследствии внесу какие-либо изменения в таблицу управления (например, количество реплик), и я helm upgrade myapp вернет тег изображения обратно к 1.0.0.

Я пытался передача флага --reuse-values ​​команде обновления helm, но это не помогло.

У кого-нибудь есть идеи? Нужно ли использовать helm для обновления тега изображения? Я пытаюсь избежать этого, так как график на данном этапе недоступен.

1 Ответ

1 голос
/ 16 января 2020

При использовании CI / CD для сборки и развертывания вы должны использовать единый источник истины , что означает файл с версией, например, Git, и вы делаете все изменения в этом файле. Поэтому, если вы используете диаграммы Хелма, они должны быть сохранены, например, в Git, а все изменения (например, новое изображение) должны быть сделаны в вашем Git хранилище.

У вас может быть конвейер сборки что в итоге передают новый образ в конфигурационный репозиторий Kubernetes. Затем запускается конвейер развертывания , который использует Helm или Kustomize, чтобы применить ваши изменения и, возможно, выполнить тесты.

...