Я читал документацию LXD, а также блоги и ответы stackexchange, в которых говорится, что LXD должен иметь какой-то синтаксис инициализации, который позволяет вам передавать данные конфигурации облака в ваши контейнеры по мере их создания, но ни один из многих примеров работали на меня.Я пробовал следующие примеры, которые настраивают профиль, примеры, которые передают данные при использовании --config
, примеры, которые передают данные yaml напрямую, и примеры, которые устанавливают данные после инициализации, но перед запуском. Ничего не сработало. Я вставляю то, что у меня есть сейчас... Может кто-нибудь сказать мне, что я делаю неправильно и как это исправить?
Самый простой пример, который я могу придумать:
lxc удалить -f х
кошка << EOF >config.yml
#cloud-config
вывод: {все: '| tee -a /var/log/my-cloud-init-output.log'}
пакет_обновление: правда
package_upgrade: правда
package_reboot_if_required: правда
пакеты:
- дерево
выполнить команду:
- коснитесь /run/cloud-config-did-run
EOF
lxc запускает Ubuntu: x --config=user.user-data="$(cat config.yml)"
спать 5
lxc exec x -- bash -c "ls /run"
lxc exec x -- bash -c "дерево /etc"
Это должно вывести на /var/log/my-cloud-init-output.log
, установить дерево, а также сделать пустой файл в /run. Выход на /var/log/my-cloud-init-output.log
работает, но больше ничего. Логи ничего особенного не показывают.