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

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, чтобы я мог выполнять сценарии пользовательских данных при создании экземпляра?

Проверьте, создан ли ваш скрипт, указанный в пользовательских данных, как исполняемый скрипт под /var/lib/cloud/instances/scripts/ если он был создан, то часть инициализации завершилась успешно.

После этого cloud-init-cfg all final команда должна быть выполнена, и это та, которая вызывает cloud_final_modules часть параметров в /etc/cloud/cloud.cfg файл. Следовательно, создайте новую службу, которая может выполнять эту команду, и службу следует назвать так, чтобы она запускалась после cloud-init служба.

Я понял, что проблема заключалась в том, что cloud-init был отправлен в F16 в последнюю минуту. В результате cloud-init из коробки работает только с настройкой cloud-config. Чтобы Fedora могла работать со сценариями ввода пользовательских данных, я решил использовать AMI Fedora 18, в котором эта функция включена по умолчанию.