Cloud-init не выполняется в Fedora 16
Cloud init не поставляется с базовым экземпляром, загруженным из Amazon(Fedora 16 x86_64), поэтому я установил с помощью
sudo yum install cloud-init
Теперь, когда я запускаю этот экземпляр через
ec2-run-instance -f my_bash_script
Копирует my_bash_script
в /var/lib/cloud/instances/user-data.txt
Тем не менее, ни одна из команд в скрипте не выполняется (в основном инициализация chef)
Я читал в Интернете, что CentOS использует сценарии пользовательских данных, которые инициализируются из cloud-init-user-script
при первой загрузке. Я предполагал, что так будет и с Fedora, но этот скрипт не существует в моей системе.
Я побежал
grep 'user-data.txt' /var/log/cloud-init.log
и он не дал результатов.
Как я могу настроить это правильно в Fedora, чтобы я мог выполнять сценарии пользовательских данных при создании экземпляра?
2 ответа
Я понял, что проблема в том, что cloud-init был ворван в F16 в последнюю минуту. В результате, из коробки, cloud-init работает только с настройкой cloud-config. Чтобы заставить fedora работать со сценариями ввода пользовательских данных, я решил использовать Fedora 18 AMI, где эта функциональность включена по умолчанию.
Проверьте, был ли ваш скрипт, указанный в пользовательских данных, создан как исполняемый скрипт в /var/lib/cloud/instances/scripts/
если он создан, то часть инициализации успешно завершена.
После этого cloud-init-cfg all final
Команда должна быть выполнена, и это тот, который вызывает cloud_final_modules
часть параметров в /etc/cloud/cloud.cfg
файл. Следовательно, создайте новый сервис, который может выполнить эту команду, и сервис должен быть назван так, чтобы он выполнялся после cloud-init
оказание услуг.