Сопровождение облака и управление ресурсами
Создание первоначальных ресурсов в OpenStack
Интерфейс dctui позволяет создать первоначальные ресурсы в OpenStack:
Ключ SSH
undercloud_keyдля пользователяadminГруппу безопасности
ssh_accessс разрешением на доступ по SSH и ICMPНабор публичных флейворов
Образы виртуальных машин
Публичная сеть для назначения плавающих IP-адресов
Приватная сеть для создания виртуальных машин в проекте
admin
Для создания ресурсов в OpenStack необходимо зайти во вкладку Prepare cloud в меню развёртывания.
┌────────────────────────────────────── Prepare Cloud Environemnt ───────────────────────────────────────┐
│========================================================================================================│
│Public Flavor Parameters █
│========================================================================================================░
│Maximal cpus or memory to be used for public flavor ░
│MaxMultiplier 8 ░
│ ░
│Disk suffix for flavor name ░
│DiskSfx disk ░
│ ░
│========================================================================================================░
│Public Images Parameters ░
│========================================================================================================░
│Comma separated list of images or image directories ░
│Images ░
│ ░
│========================================================================================================░
│Public Network Parameters ░
│========================================================================================================░
│VLAN ID for users public network ░
│VlanId ░
│ ░
│CIDR for users public network ░
│Cidr ░
│ ░
│Gateway for users public network ░
│Gateway ░
│ ░
│Start of IP pool for users public network ░
│PoolStart ░
│ ░
│End of IP pool for users public network ░
│PoolEnd ░
│ ░
│ < Save/Ctrl+U > < Start/Ctrl+A > < Cancel/Ctrl+C > │
└────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Заполните все параметры
MaxMultiplier- степень двойки для максимального количества CPU и RAM для публичного флейвора.Например,
8- это 2^8 = 256 CPU и 2^8 = 256 GB RAMДополнительно будут созданы флейворы для оверкоммита CPU и RAM.
DiskSfx- суффикс для имени флейвора. Используйтеhddилиssdв зависимости от типа дисков на узлах.Images- список образов или каталогов с образами, которые будут загружены в OpenStack.Образы необходимо подготовить заранее самостоятельно и сложить в каталог, например,
/home/stack/images.Далее можно указать в поле /home/stack/images и все образы будут загружены в OpenStack.
VlanId- VLAN ID для публичной сетиCidr- CIDR для публичной сетиGateway- шлюз для публичной сетиPoolStart- начало пула IP-адресов для публичной сетиPoolEnd- конец пула IP-адресов для публичной сети
Мониторинг
После установки облака будет доступна Grafana по адресу облака на порту 3000.
Доступ к API облака
После развёртывания облака на узле развёртывания появляется файл <deployment-name>rc.
Для управления ресурсами через CLI выполните:
source <deployment-name>rc
Например:
source acloudrc
Обратите внимание, что управление ресурсами развёрнутого облака на узле развёртывания также требует предварительного source stackrc с того же узла.
Файл <deployment-name>rc содержит переменные окружения, где указывается адрес сервиса аутентификации Keystone и учётные данные для пользователя admin.
Если вы использовали доменное имя для эндпойнтов во вкладке Endpoint Data, то все публичные эндпойнты будут находиться по настроенному вами доменному адресу или overcloud.localdomain по умолчанию.
Чтобы посмотреть IP-адрес для вашего облака выполните:
source stackrc
openstack port show <deployment-name>_external_<deployment-name>_virtual_ip \
-c fixed_ips
Например:
source stackrc
openstack port show acloud_external_acloud_virtual_ip -c fixed_ips
Web-доступ к управлению облаком также доступен по указанному адресу.
Флейворы
Для создания флейворов используется команда:
openstack flavor create cpu<cpu_num>.ram<ram_gb>.disk<disk_gb> \
--vcpus <cpu_num> \
--ram <ram_mb> \
--disk <disk_gb>
По умолчанию создаются публичные флейворы. Необходимо явно ставить флаг --private, чтобы можно было управлять доступом к флейвору.
Чтобы вместе запустить виртуальную машину с ГПУ или другим PCI устройством, настройте его использование на вычислительном узле в nova.conf и указанный alias используйте для создания флейвора:
openstack flavor create --private \
gpu-<gpu_alias>-x<gpu_num>.cpu<cpu_num>.ram<ram_gb>.disk<disk_gb> \
--property pci_passthrough:alias='<gpu_alias>:<gpu_num>'
Чтобы поделить узлы по признаку SSD/HDD или с/без ГПУ - существует механизм trait’ов.
Посмотреть их можно для конкретного узла через Placement API:
openstack resource provider trait list <resource_provider_uuid>
Полный список можно посмотреть следующим образом:
openstack trait list --sort-column name
Из интересных существующих trait’ов есть STORAGE_DISK_HDD/STORAGE_DISK_SSD - но они не назначаются узлам автоматически. Для этого используется команда:
openstack resource provider trait set --trait <trait_name> \
<resource_provider_uuid>
Чтобы использовать свой trait, можно использовать команды:
openstack trait create CUSTOM_HAS_GPU
openstack resource provider trait set --trait CUSTOM_HAS_GPU \
<resource_provider_with_gpu>
Далее запрещаем флейвору без ГПУ занимать узлы с ГПУ:
openstack flavor set cpu1.ram1.hdd10 --property trait:CUSTOM_HAS_GPU=forbidden
Или наоборот:
openstack flavor set cpu1.ram1.hdd10 --property trait:STORAGE_DISK_HDD=required