У меня проблема: у меня есть более 100 серверов, на которых мне нужно убедиться, что определенный процесс запущен... Эти 100 серверов разбиты на 4 разные среды, и у меня настроено множество ролей. Код шеф-повара в этом случае самый простой:
service "some_process" do
supports :status => true
action :start
end
Предположим, я хочу перезапустить этот процесс в определенной среде, узле или роли. Я использовал что-то вроде этого:
knife ssh "name:node_name" "service some_process restart" -i id_rsa
knife ssh "name:role_name" "service some_process restart" -i id_rsa
knife ssh "name:environment_name" "service some_process restart" -i id_rsa
Однако это было отмечено моей командой внутренней безопасности как нарушение безопасности. Так что придется искать альтернативу...
Как лучше всего временно изменить рецепт с «запуска» на «перезапуск», а затем управлять им через отдельные узлы, целые среды или даже определенные роли? Есть ли механизм для отмены «запуска» и принудительного «перезапуска» путем редактирования списка выполнения и/или использования атрибутов?
chef-client
запуска. это означает, что вы не изменяете свою кулинарную книгу, и вам не нужно беспокоиться о развертывании новой версии вашей кулинарной книги. - person Mr.   schedule 08.12.2015