Am fost pe nenumărate site-uri, inclusiv pe acesta, încercând să-mi dau seama cum să fac ca LXD să ruleze o configurație cloud când îmi lansez containerul LXD. Unele locuri recomandă configurarea unui profil (nu a funcționat). Alții recomandă redirecționarea unui fișier YAML în comanda lxc (nu a funcționat), iar alții recomandă utilizarea --config
opțiunea și trecerea fișierului în acest fel (nu a funcționat). Unele locuri spun că trebuie să adaug #cloud-config
la configurația mea, alții nu se deranjează. Unii chiar recomandă utilizarea unui fișier XML. Evident, îmi lipsește o informație critică pe care toți ceilalți o fac implicit, dar nu îmi pot da seama ce este.
„Exemplul simplu” actualizat care încearcă să instaleze arborele și încearcă să atingă /run/cloud-config-did-run:
lxc șterge -f x
cat << EOF >config.yml
#cloud-config
ieșire: {all: '| tee -a /var/log/my-cloud-init-output.log'}
package_update: adevărat
package_upgrade: adevărat
package_reboot_if_required: adevărat
pachete:
- copac
runcmd:
- atingeți /run/cloud-config-did-run
EOF
lxc lansează ubuntu: x --config=user.user-data="$(cat config.yml)"
somn 5
lxc exec x -- bash -c "ls /run"
lxc exec x -- bash -c "arborele /etc"
Ieșirea este direcționată către /var/log/my-cloud-init-output.log
, deci este în curs de procesare, dar nimic altceva decât ieșire
directiva rulează (jurnalele nici măcar nu menționează alte lucruri care rulează sau erori - doar chestiile standard SSH keygen).
Poate indentarea este greșită? Sau configurația este în subarborele greșit? Sau lipsește o valoare magică? O versiune de LXD unde aceasta este stricata? (Am versiunea 4.20). Am fost la asta timp de 10 ore până acum și indiferent de ceea ce fac, configurația mea cloud este complet ignorată (fără erori, fără jurnal, nicio înregistrare despre ceva care rulează, nicio înregistrare că l-am instruit vreodată să facă ceva - în afară de chestia standard ssh keygen care aparent este coaptă). Poate cineva să transforme cele de mai sus într-un exemplu de lucru care să ruleze garantat dacă îl lipesc într-un shell?