На прошлой неделе я глубоко погрузился в шеф-повар, и сейчас я застрял на одном. Я создал экземпляр в AWS (много раз на этом этапе), и когда повар начинает делать свое дело, я получаю ошибку компиляции. Хорошо, я выясню, в чем дело, и подам повторную заявку.
Мой вопрос: как я могу обновить существующий экземпляр? я могу использовать $ knife ec2 server create [coptions]
а есть ли соответствующая команда обновления? Мой мозг хочет выполнить что-то вроде $ knife ec2 server update [AWS instance ID] -x userXXX -r 'recipe[yyy::zzzz]'
Я не вижу возможности обновления, есть ли что-нибудь похожее?
Я не хочу продолжать создавать и завершать экземпляры, пока я ищу неполадки в том, что происходит с рецептом, я бы предпочел применить изменения к существующему экземпляру.
Пытаться нож соло который позволяет обновлять удаленный сервер с помощью шеф-повар (не шеф-клиент) как:
knife solo cook ec2-user@your-node-fqdn -o "your-run-list"
В контексте сервера chef вы не обновляете удаленный сервер ec2, вместо этого вы просто обновляете объект узла вашего сервера ec2, и chef-client синхронизирует ваши изменения при запуске. Итак, вам просто нужно обновить свой узел / роль / среду с помощью ножа.
Если Chef успешно загрузился на сервере, запустите
knife ssh -m [server-id] chef-client
http://docs.opscode.com/knife_ssh.html
В EC2 server-id - это идентификатор экземпляра, присвоенный AWS.