Я хочу, чтобы мой шеф-клиент запускался, когда что-то меняется в кулинарных книгах. Является ли это возможным?
Я считаю, что этот «запуск один раз в X мин» не очень оптимален. Когда я что-то меняю, я хочу, чтобы это применялось немедленно, чтобы я мог заметить, что что-то пошло не так. Кроме того, он может запускаться, скажем, раз в 4 часа, чтобы убедиться, что конфигурация в порядке.
Очень возможно, но не встроено. Один из вариантов - поместить ваши кулинарные книги в систему управления версиями, а затем использовать инструмент CI, такой как Jenkins, для запуска запуска шеф-клиента с использованием knife ssh
всегда, когда поваренная книга обновляется.
В качестве альтернативы вы можете вручную запустить knife ssh
бежать chef-client
на всех машинах после обновления кулинарной книги.
В Chef-сервере нет встроенной функции push.
Установите инструмент аудита рецептов, например https://github.com/jbz/knife-audit. В рамках ваших сценариев, которые загружают книгу рецептов, запросите сервер Chef для всех узлов, которые используют этот рецепт, и вызовите на них chef-client.