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