Как загрузить образы облака виртуальных машин в 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