Сопровождение облака и управление ресурсами
Создание первоначальных ресурсов в 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 moncloudrc
Обратите внимание, что управление ресурсами развёрнутого облака на узле развёртывания также требует предварительного source stackrc с того же узла.
Файл <deployment-name>rc содержит переменные окружения, где указывается адрес сервиса аутентификации Keystone и учётные данные для пользователя admin.
Чтобы посмотреть IP-адрес для вашего облака выполните:
dctl instance show <deployment-name>
Например:
dctl instance show moncloud
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