Поиск по сайту:

Как загрузить образы облака виртуальных машин в OpenStack Glance |


В этом уроке мы рассмотрим, как добавить образы виртуальных машин в сервис изображений Openstack Glance. Я предполагаю, что у вас уже есть работающая установка Openstack, и служба Gloss работает на узле контроллера.

Что такое служба изображений Openstack?

Openstack Gloss позволяет пользователям обнаруживать, регистрировать и получать образы виртуальных машин. По умолчанию эти изображения хранятся /var/lib/glance/images/ , а серверной частью является файл.

Служба изображений Openstack также предлагает REST API, который позволяет запрашивать метаданные образа виртуальной машины и получать фактическое изображение. Вы можете хранить образы виртуальных машин, доступные через службу изображений, в различных местах: от простых файловых систем до систем объектного хранения, таких как OpenStack Object Storage.

Получение изображений Glance?

Самый простой способ получить образ виртуальной машины, работающий с OpenStack, — загрузить образ, уже созданный кем-то другим. Большинство образов содержат пакет Cloud-init для поддержки пары ключей SSH и внедрения пользовательских данных.

Я покажу вам, как добавлять изображения для различных операционных систем, загрузив то, что уже сделали другие люди. Конечно, вы можете создавать свои изображения, но быстрее получить готовые изображения.

Учетные данные для входа по умолчанию

Ниже приведены имена пользователей для входа по умолчанию для экземпляров, созданных на основе изображений, добавленных вскоре.

  • Debian: debian
  • Федора: федора
  • Ubuntu: ubuntu
  • RHEL: пользователь облака
  • AlmaLinux: almalinux
  • Rocky Linux: непростой
  • CentOS: centos
  • CoreOS: ядро
  • Arch Linux: arch
  • Gentoo: gentoo
  • OpenSUSE: корень
  • Fedora CoreOS: ядро
  • Cirros: имя пользователя: cirros, пароль: cubswin:)

Примеры:

1. Добавление изображения Cirros Cloud в Glance

VERSION=$(curl -s http://download.cirros-cloud.net/version/released)
wget http://download.cirros-cloud.net/$VERSION/cirros-$VERSION-x86_64-disk.img

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file cirros-$VERSION-x86_64-disk.img \
    Cirros

2. Добавьте облачный образ Rocky Linux в Glance.

Rocky Linux 9:

wget http://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file Rocky-9-GenericCloud.latest.x86_64.qcow2 \
    Rocky-Linux-9

Rocky Linux 8

wget https://download.rockylinux.org/pub/rocky/8/images/Rocky-8-GenericCloud.latest.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file Rocky-8-GenericCloud.latest.x86_64.qcow2 \
    Rocky-Linux-8

3. Добавьте образ облака AlmaLinux в Glance.

Используйте команды ниже:

AlmaLinux 9

wget https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-latest.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file AlmaLinux-9-GenericCloud-latest.x86_64.qcow2 \
    AlmaLinux-9

AlmaLinux 8

wget https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file AlmaLinux-8-GenericCloud-latest.x86_64.qcow2 \
    AlmaLinux-8

4. Добавление образа облака Fedora в Openstack

wget http://fedora.mirror.liquidtelecom.com/fedora/linux/releases/36/Cloud/x86_64/images/Fedora-Cloud-Base-36-1.5.x86_64.qcow2
openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file Fedora-Cloud-Base-36-1.5.x86_64.qcow2 \
    Fedora-36

5. Добавление облачного образа CentOS в Openstack

CentOS Stream 8:

wget https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20220913.0.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file CentOS-Stream-GenericCloud-8-20220913.0.x86_64.qcow2 \
    CentOS-Stream-8

CentOS Stream 9:

wget https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20220919.0.x86_64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file  CentOS-Stream-GenericCloud-9-20220919.0.x86_64.qcow2 \
    CentOS-Stream-9

CentOS 7:

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file CentOS-7-x86_64-GenericCloud.qcow2 \
    CentOS-7

6. Добавление образа облака Ubuntu в Openstack

Добавление изображений на основе Ubuntu:

Ubuntu 22.04:

wget http://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file jammy-server-cloudimg-amd64.img \
    Ubuntu-22.04

Ubuntu 20.04:

wget http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file focal-server-cloudimg-amd64.img \
    Ubuntu-20.04

Ubuntu 18.04:

wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file bionic-server-cloudimg-amd64.img \
    Ubuntu-18.04

7. Добавление образа облака Debian в Openstack

Debian 12 (Книжный червь)

wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --property hw_disk_bus=scsi \
    --property hw_scsi_model=virtio-scsi \
    --property os_type=linux \
    --property os_distro=debian \
    --property os_admin_user=debian \
    --public \
    --file debian-12-generic-amd64.qcow2 \
    Debian-12
wget https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --property hw_disk_bus=scsi \
    --property hw_scsi_model=virtio-scsi \
    --property os_type=linux \
    --property os_distro=debian \
    --property os_admin_user=debian \
    --public \
    --file debian-11-generic-amd64.qcow2 \
    Debian-11

Debian 10 (Buster):

wget https://cloud.debian.org/images/cloud/buster/latest/debian-10-generic-amd64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --property hw_disk_bus=scsi \
    --property hw_scsi_model=virtio-scsi \
    --property os_type=linux \
    --property os_distro=debian \
    --property os_admin_user=debian \
    --public \
    --file debian-10-generic-amd64.qcow2 \
    Debian-10

Debian 9 (расширенный):

wget http://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --property hw_disk_bus=scsi \
    --property hw_scsi_model=virtio-scsi \
    --property os_type=linux \
    --property os_distro=debian \
    --property os_admin_user=debian \
    --public \
    --file debian-9-openstack-amd64.qcow2 \
    Debian-9

8. Добавление облачного образа CoreOS в Openstack

wget https://stable.release.core-os.net/amd64-usr/current/coreos_production_openstack_image.img.bz2
#wget http://beta.release.core-os.net/amd64-usr/current/coreos_production_openstack_image.img.bz2
bunzip2 coreos_production_openstack_image.img.bz2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --property os_distro=coreos \
    --file coreos_production_openstack_image.img \
    CoreOS

9. Добавление облачного образа Arch Linux в Openstack

wget https://linuximages.de/openstack/arch/arch-openstack-LATEST-image-bootstrap.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file arch-openstack-LATEST-image-bootstrap.qcow2 \
    Arch-Linux

10. Добавление образа Gentoo Cloud в Openstack

wget https://linuximages.de/openstack/gentoo/gentoo-openstack-LATEST-image-bootstrap.qcow2

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file gentoo-openstack-LATEST-image-bootstrap.qcow2 \
    Gentoo

11. Добавление образа Fedora CoreOS в OpenStack

Загрузите образ Fedora CoreOS:

wget https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/38.20230722.3.0/x86_64/fedora-coreos-38.20230722.3.0-openstack.x86_64.qcow2.xz

Извлеките изображение:

unxz fedora-coreos-38.20230722.3.0-openstack.x86_64.qcow2.xz

Загрузите извлеченное изображение:

openstack image create Fedora-CoreOS \
                       --public \
                       --disk-format=qcow2 \
                       --container-format=bare \
                       --property os_distro=fedora-coreos \
                       --file=fedora-coreos-38.20230722.3.0-openstack.x86_64.qcow2

12. Добавление образа Windows Server 2012.

Загрузите изображение с https://cloudbase.it/windows-cloud-images/#download.

gunzip -cd windows_server_2012_r2_standard_eval_kvm_20170321.qcow2.gz

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file windows_server_2012_r2_standard_eval_kvm_20170321.qcow2 \
    Windows-Server-2012-R2-Std

Проверьте список изображений, доступных в Glance.

$ openstack image list
+--------------------------------------+---------------------+--------+
| ID                                   | Name                | Status |
+--------------------------------------+---------------------+--------+
| 0850ee38-1bdf-4379-9c69-0cf73e8b7c65 | Arch-Linux-x86_64   | active |
| e98445b6-f14f-488c-a18a-1f66c6de15c7 | CentOS-7-x86_64     | active |
| 7b4b616e-71f3-4419-9777-7aee66fad62c | Cirros-0.4.0-x86_64 | active |
| 98bbd9e6-abbc-45fa-ac95-b91b7b18ba0a | Debian-9-amd64      | active |
| 113b90b6-4e1e-4715-b9ab-456c191a82b3 | Fedora-30-x86_64    | active |
| 06c17e8a-0d4c-428a-89b5-b0eb2489f403 | Ubuntu-16.04-x86_64 | active |
+--------------------------------------+---------------------+--------+

13. Добавьте образы FreeBSD

Для FreeBSD используйте следующие команды:

# FreeBSD 13
wget https://download.freebsd.org/ftp/releases/VM-IMAGES/13.2-RELEASE/amd64/Latest/FreeBSD-13.2-RELEASE-amd64.qcow2.xz
unxz FreeBSD-13.2-RELEASE-amd64.qcow2.xz

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file FreeBSD-13.2-RELEASE-amd64.qcow2 \
    FreeBSD-13

# FreeBSD 12
wget https://download.freebsd.org/ftp/releases/VM-IMAGES/12.4-RELEASE/amd64/Latest/FreeBSD-12.4-RELEASE-amd64.qcow2.xz
unxz FreeBSD-12.4-RELEASE-amd64.qcow2.xz

openstack image create \
    --container-format bare \
    --disk-format qcow2 \
    --file FreeBSD-12.4-RELEASE-amd64.qcow2 \
    FreeBSD-12

Настройка параметров изображения

Теперь давайте сделаем все изображения общедоступными и защитим их от случайного удаления.

IMAGE_IDS=`openstack image list | egrep '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' -o`
for i in ${IMAGE_IDS[@]}; do
    openstack image set --public $i
    openstack image set --protected $i
done

Подтвердите действие на панели мониторинга Horizon, выбрав Проект > Вычисления > Изображения. Вы должны заметить, что для всех изображений флаг «Защищено» установлен на «Да», а для параметра «Видимость» также установлено значение «Общедоступный».

Далее следует добавление версий ОС: Как добавить версии компьютера в Openstack из CLI.

Ссылка:

Документация OpenStack

Статьи по данной тематике: