Как принудительно выполнить повторное развертывание с помощью HELM

Я хотел бы использовать HELM для принудительного повторного развертывания развертывания на Openshift.

Я использую «image@latest» для развертывания, так как хочу иметь самый последний образ при каждом развертывании, но я не хочу иметь триггер изменения образа, потому что я не могу контролировать, как часто меняется образ, и я может потребоваться изменить некоторые вещи в диаграмме (например, config-maps) перед развертыванием новой версии образа. Поэтому я не хочу иметь триггер изображения для развертывания.

По сути, я хочу, чтобы он переустанавливался, когда я этого хочу, а не автоматически, и я бы предпочел сделать это с помощью helm, и я попытался с помощью helm upgrade.

В настоящее время у меня есть триггер изменения конфигурации, поэтому, если я изменяю диаграмму (содержащую конфигурации), развертывание выполняется повторно. Но если в диаграмме ничего не изменится, я не нахожу способа заставить переразвернуться через Helm.

Есть ли способ сделать это?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
4
0
20 816
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Мне удалось найти решение. Я добавил spec-template-metadata-annotations следующее:

timestamp: {{ now | quote }}

По сути, это приводит к тому, что диаграмма всегда меняется, что вызывает повторное развертывание каждый раз, когда я запускаю обновление helm.

Это сработает... но лучше работать с соответствующими тегами вместо latest. У вас есть CI\CD для тегирования?

Amit Baranes 23.12.2020 12:06

Нет, мы хотим всегда иметь самое последнее изображение.

LeYAUable 04.01.2021 13:10

как это timestamp связано с тегом latest???

uberrebu 09.09.2021 09:28

это не так, мы просто хотим повторно развернуть любой образ с последним тегом, но для этого helm должен обнаружить изменение в диаграмме, и поэтому нам нужна временная метка, чтобы заставить что-то измениться... так как значение "сейчас" всегда разное.

LeYAUable 09.09.2021 16:22

Вы можете использовать эту аннотацию в манифесте развертывания для принудительного развертывания изменений в ConfigMap.

kind: Deployment
spec:
  template:
    metadata:
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
...

Вот источник

Другие вопросы по теме