Обновляет ли helm обновление в configmap новые данные в работающий модуль? - PullRequest
0 голосов
/ 07 февраля 2019

При запуске обновления руля на работающем модуле мой configmap обновляется, но будет ли модуль автоматически знать об обновленных значениях configmap или есть другой шаг, который мне нужно предпринять, чтобы добавить новые значения configmap в модуль?

Моя общая цель - избежать взаимодействия с работающим модулем, таким как удаление или перезапуск / переустановка.

Я видел много информации об изменении sha1sum и выполнении некоторых обходных путей, но мойвопрос более простой - могут ли модули автоматически узнавать о новых элементах configmap?

---- ОБНОВЛЕНИЕ --- так что мы в итоге сделали:

обновление руля -n релиз -n релиз -frelease / values.yaml - воссоздать pods

, хотя это завершает существующий модуль, другой сразу запускается при выдаче команды, что означает «почти нулевое» время простоя.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Если ваша диаграмма Helm создает ConfigMap, и этот ConfigMap монтируется как том в модуль, то при обновлении ConfigMap файловая система контейнера также обновляет .Затем приложение должно заметить, что файлы изменились.

Такие хитрости, как , задающие хэш содержимого файла в виде аннотации модуля , специально предназначены для обновления развертывания вспособ, который будет удалять и воссоздавать существующие стручки.Это нормально!Стручки в Kubernetes очень одноразовые, и если вы удалите стручок, управляемый развертыванием, он будет автоматически воссоздан.Если ваше приложение только читает содержимое ConfigMap во время запуска (это очень типично), вам нужно сделать что-то вроде этого, чтобы сам перезапустить Pod (скопировано из связанной документации):

kind: Deployment
spec:
  template:
    metadata:
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
0 голосов
/ 08 февраля 2019

Нет, pods автоматически не узнают о содержании изменения карты конфигурации.

В случае обновления helm, поэтому вам нужно использовать синтаксис шаблона helm для добавления хэша файла карты конфигурациизначение метаданных модуля (или шаблона модуля).Это создает связь между config и pod.

Если вы это сделаете, модуль (или шаблон модуля) будет обновлен, даже если будет изменена только карта конфигурации.Тогда никакого ручного вмешательства не требуется.

...