Как передать конфигурацию cloud-init при создании контейнера LXD?

Я был чтение документации 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работает, но больше ничего не работает. Логи ничего особенного не показывают.

1
задан 19 December 2021 в 23:18

0 ответов

Другие вопросы по тегам:

Похожие вопросы: