Зависимость между стручками в рулевых картах - PullRequest
2 голосов
/ 15 марта 2019

Я пытаюсь развернуть таблицу управления, и мне нужна помощь в моем случае использования.

Мое требование заключается в том, чтобы в папке шаблонов диаграммы helm у меня было несколько файлов развертывания yml и .tpl. Когда я вызываю команду helm install, один из развертываний yml в папке шаблона будет развертываться как «задание» только с одним модулем. связано с этим. Другие ресурсы развертывания в папке шаблонов должны ждать успешного завершения этого задания, а затем должны быть развернуты только на kubernetes в качестве модуля.

Когда я вызову команду установки helm, helm прочитает все yml и, следовательно, попытается развернуть все модули одновременно, что мне не нужно. Сначала я хочу, чтобы моя работа была успешной, а затем только другие модули должны начать развертываться. Во время выполнения задания все остальные модули должны ждать или не должны запускаться, поскольку все они зависят от успешности задания.

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

1 Ответ

1 голос
/ 15 марта 2019

Вы ищете крюки для руля :

Helm предоставляет механизм ловушек, позволяющий разработчикам диаграмм вмешиваться в определенные моменты жизненного цикла релиза. Например, вы можете использовать крючки для:

  • Загрузите ConfigMap или Secret во время установки до того, как появятся другие диаграммы загружен.
  • Выполнить задание для резервного копирования базы данных перед установкой нового график, а затем выполнить второе задание после обновления, чтобы восстановить данные.
  • Запустите задание перед удалением релиза, чтобы обслуживание вне ротации перед его удалением.

Добавьте следующую аннотацию к вашей работе:

metadata:
  annotations:
    "helm.sh/hook": "pre-install"

Вы можете даже настроить свой хук на запуск перед любой установкой или обновлением (см. Другие опции здесь )

metadata:
  annotations:
    "helm.sh/hook": "pre-install, pre-upgrade"

Ресурсы, которые создает ловушка, не отслеживаются и не управляются как часть выпуска. Как только Tiller проверит, что ловушка достигла своего состояния готовности, он оставит ваш ресурс задания в покое (или вы можете установить "helm.sh/hook-delete-policy" для его удаления).

...