Команда Chef/knife для обновления клиентов после смены роли

После того, как я загрузил сервер с помощью Chef, если я забыл включить рецепт в роль (например, apache2::mod_ssl), есть ли способ просто обновить клиент без необходимости его удаления и повторного «создания сервера-ножа»?

Более того, все серверы зарегистрированы на моем сервере Chef (платформа Opscode), поэтому теоретически они должны иметь возможность получать обновления от Opscode после того, как я отправлю изменения ролей на платформу. Это возможно? Или возможно ли, чтобы мой сервер проверял сервер Chef на наличие изменений через регулярные промежутки времени, например, каждые 10 минут?


person ardell    schedule 01.10.2010    source источник


Ответы (3)


Это приходит через 2 года, но я надеюсь, что это поможет кому-то еще :)

На клиентском узле (сервере, на котором вы хотите запустить новый рецепт) запустите:

sudo chef-client -i 600

"-i 600" : продолжать опрашивать шеф-сервер на наличие изменений с интервалом в 600 секунд.

person Emil    schedule 07.11.2012

knife ssh SEARCH 'sudo chef-client'

Например:

knife ssh 'role:webserver' 'sudo chef-client'

or

knife ssh 'name:mynode' 'sudo chef-client'

Дополнительные сведения о параметрах ПОИСКА см. в документации.

Примечание: в зависимости от ваших настроек вам может понадобиться или не понадобиться sudo.

person MiniQuark    schedule 07.03.2013
comment
knife ssh 'name:*' 'sudo chef-client' для запуска на всех узлах. - person Dale Anderson; 13.06.2016

Нашел свой ответ: просто запустите chef-client на сервере.

person ardell    schedule 12.10.2010
comment
И команда ножа для этого будет knife ssh SEARCH 'chef-client' - person AdamK; 05.11.2010