Cloud-init — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
(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. Пример минимальной кофигурации, задающей только ключ для пользователя root. Вместо <YOUR_PUBLIC_KEY> нужно подставить ваш пбличный ключ.
+
Данные для 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}}}}

Текущая версия на 11: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.

$ wget http://ftp.altlinux.org/pub/distributions/ALTLinux/images/Sisyphus/cloud/alt-sisyphus-cloud-x86_64.qcow2

Данные для 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