Назад | Перейти на главную страницу

Использование Chef для обновления экземпляра EC2

На прошлой неделе я глубоко погрузился в шеф-повар, и сейчас я застрял на одном. Я создал экземпляр в 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.