Cloud-init: различия между версиями
м (→Использование с qemu: fix typos) |
|||
Строка 4: | Строка 4: | ||
== Использование с qemu == | == Использование с qemu == | ||
Для начала создадим каталог в котором будем работать и зайдем в него. | Для начала создадим каталог, в котором будем работать, и зайдем в него. | ||
: <code>$ mkdir cloud-init-example</code> | : <code>$ mkdir cloud-init-example</code> | ||
: <code>$ cd cloud-init-example</code> | : <code>$ cd cloud-init-example</code> | ||
Строка 11: | Строка 11: | ||
: <code>$ wget http://ftp.altlinux.org/pub/distributions/ALTLinux/images/Sisyphus/cloud/alt-sisyphus-cloud-x86_64.qcow2</code> | : <code>$ wget http://ftp.altlinux.org/pub/distributions/ALTLinux/images/Sisyphus/cloud/alt-sisyphus-cloud-x86_64.qcow2</code> | ||
Данные для cloud-init описываются в конфигурационном файле в формате yaml. Пример минимальной | Данные для cloud-init описываются в конфигурационном файле в формате yaml. Пример минимальной конфигурации, задающей только ключ для пользователя root. Вместо <YOUR_PUBLIC_KEY> нужно подставить ваш публичный ключ. | ||
<pre> | <pre> | ||
$ cat user-data.yaml | $ cat user-data.yaml | ||
Строка 28: | Строка 28: | ||
: <code>$ qemu -machine accel=kvm -m 2G -cpu host -smp 2 -drive file=alt-sisyphus-cloud-x86_64.qcow2,if=virtio -drive file=my-seed.img,if=virtio,format=raw,force-share=on,read-only=on -daemonize -display none -nic user,hostfwd=tcp::22222-:22</code> | : <code>$ qemu -machine accel=kvm -m 2G -cpu host -smp 2 -drive file=alt-sisyphus-cloud-x86_64.qcow2,if=virtio -drive file=my-seed.img,if=virtio,format=raw,force-share=on,read-only=on -daemonize -display none -nic user,hostfwd=tcp::22222-:22</code> | ||
И зайти по ssh. Может потребоваться подождать некоторое время пока машина будет загружена и инициализирована. | И зайти по ssh. Может потребоваться подождать некоторое время, пока машина будет загружена и инициализирована. | ||
: <code>$ ssh root@localhost -p 22222</code> | : <code>$ ssh root@localhost -p 22222</code> | ||
[[Категория:Виртуализация]] | [[Категория:Виртуализация]] | ||
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} |
Версия от 14:44, 10 февраля 2021
cloud-init
cloud-init это программа для инициализации виртуальных машин, обычно пременяющаяся в облачных платформах. Но использовать cloud-init можно и локально. Примеры конфигурационных файлов - https://cloudinit.readthedocs.io/en/latest/topics/examples.html.
Использование с qemu
Для начала создадим каталог, в котором будем работать, и зайдем в него.
$ mkdir cloud-init-example
$ cd cloud-init-example
Затем потребуется образ виртуальной машины с поддержкой cloud-init. Например, можно взять cloud образ ALT.
Данные для cloud-init описываются в конфигурационном файле в формате yaml. Пример минимальной конфигурации, задающей только ключ для пользователя root. Вместо <YOUR_PUBLIC_KEY> нужно подставить ваш публичный ключ.
$ cat user-data.yaml #cloud-config users: - name: root ssh_authorized_keys: - <YOUR_PUBLIC_KEY>
Для преобразования конфигурационного файла в метаданные потребуется программа cloud-localds из пакета cloud-utils.
# apt-get install cloud-utils
$ cloud-localds my-seed.img user-data.yaml
Осталось только запустить виртуальную машину.
$ qemu -machine accel=kvm -m 2G -cpu host -smp 2 -drive file=alt-sisyphus-cloud-x86_64.qcow2,if=virtio -drive file=my-seed.img,if=virtio,format=raw,force-share=on,read-only=on -daemonize -display none -nic user,hostfwd=tcp::22222-:22
И зайти по ssh. Может потребоваться подождать некоторое время, пока машина будет загружена и инициализирована.
$ ssh root@localhost -p 22222