экземпляров — документация openstack-heat 20.1.0.dev34
Управление экземплярами
Создать экземпляр
Используйте ресурс OS::Nova::Server для создания экземпляра Compute.
Свойство flavor является единственным обязательным, но вам нужно определить загрузочный
источник, использующий одно из свойств image или block_device_mapping .
Вам также необходимо определить свойство сетей , чтобы указать, к каким сетям
ваш экземпляр должен подключаться, если в вашем арендаторе доступно несколько сетей.
В следующем примере создается простой экземпляр, загружаемый из образа, и
подключение к частной сети :
ресурсов:
пример:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
сети:
- сеть: частная
Подключить экземпляр к сети
Используйте свойство сетей ресурса OS::Nova::Server для
определить, к каким сетям должен подключаться экземпляр.
Определите каждую сеть как
Карта YAML, содержащая один из следующих ключей:
-
порт Идентификатор существующего сетевого порта. Обычно вы создаете этот порт в тот же шаблон с использованием ресурса OS::Neutron::Port. Вы будете можно связать плавающий IP-адрес с этим портом, а порт с вашим вычислительным пример.
-
сеть Имя или идентификатор существующей сети. Вам не нужно создавать Ресурс OS::Neutron::Port, если вы используете это свойство. Но ты будешь нельзя использовать ассоциацию нейтронного плавающего IP-адреса для этого экземпляра потому что не будет указанного порта для сервера.
В следующем примере показано использование порта и сети .
свойства:
ресурсов:
instance_port:
тип: ОС::Neutron::Порт
характеристики:
сеть: частная
фиксированные_ips:
- subnet_id: "частная-подсеть"
экземпляр1:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.
маленький
изображение: ubuntu-доверенное-x86_64
сети:
- порт: {get_resource: instance_port}
экземпляр2:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
сети:
- сеть: частная
Создать и связать группы безопасности с экземпляром
Используйте ресурс OS::Neutron::SecurityGroup для создания безопасности группы.
Определите свойство security_groups OS::Neutron::Port
ресурса, чтобы связать группы безопасности с портом, а затем связать порт с
пример.
В следующем примере создается группа безопасности, разрешающая входящие подключения на порты 80 и 443 (веб-сервер) и связывает эту группу безопасности с экземпляром порт:
ресурсов:
web_secgroup:
тип: ОС::Neutron::SecurityGroup
характеристики:
правила:
- протокол: TCP
remote_ip_prefix: 0.0.0.0/0
порт_диапазон_мин: 80
порт_range_max: 80
- протокол: TCP
remote_ip_prefix: 0.
0.0.0/0
порт_диапазон_мин: 443
порт_диапазон_макс: 443
instance_port:
тип: ОС::Neutron::Порт
характеристики:
сеть: частная
группы_безопасности:
- по умолчанию
- {get_resource: web_secgroup}
фиксированные_ips:
- subnet_id: частная подсеть
пример:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
сети:
- порт: {get_resource: instance_port}
Создайте и свяжите плавающий IP-адрес с экземпляром
Используйте ресурс OS::Neutron::FloatingIP для создания плавающего IP-адреса и ресурс OS::Neutron::FloatingIPAssociation, чтобы связать плавающий IP на порт:
параметры:
сеть:
описание: имя сети, используемой для запуска экземпляра.
тип: строка
по умолчанию: частный
Ресурсы:
инст1:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
сети:
- сеть: {get_param: сеть}
плавающий_ip:
тип: ОС::Neutron::FloatingIP
характеристики:
плавающая_сеть: общедоступная
ассоциация:
тип: OS::Neutron::FloatingIPAssociation
характеристики:
float_ip_id: {get_resource: float_ip}
port_id: {get_attr: [inst1, адреса, {get_param: сеть}, 0, порт]}
Вы также можете создать OS::Neutron::Port и связать его с сервером и
плавающий IP.
Однако подход, упомянутый выше, будет работать лучше
с обновлениями стека.
ресурсов:
instance_port:
тип: ОС::Neutron::Порт
характеристики:
сеть: частная
фиксированные_ips:
- subnet_id: "частная-подсеть"
плавающий_ip:
тип: ОС::Neutron::FloatingIP
характеристики:
плавающая_сеть: общедоступная
ассоциация:
тип: OS::Neutron::FloatingIPAssociation
характеристики:
float_ip_id: {get_resource: float_ip}
port_id: {get_resource: instance_port}
Включить удаленный доступ к экземпляру
Атрибут key_name ресурса OS::Nova::Server определяет
пара ключей для включения удаленного доступа SSH:
ресурсов:
мой_экземпляр:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
имя_ключа: мой_ключ
Создать пару ключей
Вы можете создавать новые пары ключей с помощью ресурса OS::Nova::KeyPair. Ключ
пары могут быть импортированы или созданы во время создания стека.
Если свойство public_key
save_private_key установлено значение true , атрибут private_key ресурса содержит закрытый ключ.В следующем примере создается новая пара ключей, которая используется в качестве ключа проверки подлинности. например:
ресурсов:
мой ключ:
тип: ОС::Nova::KeyPair
характеристики:
save_private_key: правда
имя: мой_ключ
мой_экземпляр:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
имя_ключа: {get_resource: мой_ключ}
выходы:
закрытый_ключ:
описание: закрытый ключ
значение: {get_attr: [my_key, private_key]}
Управление сетями
Создать сеть и подсеть
Примечание
Сетевая служба (нейтрон) должна быть включена на вашем OpenStack
развертывание для создания и управления сетями и подсетями.
Используйте ресурс OS::Neutron::Net для создания сети, а Ресурс OS::Neutron::Subnet для предоставления подсети для этой сети:
ресурсов:
новая_сеть:
тип: ОС::Нейтрон::Сеть
новая_подсеть:
тип: ОС::Neutron::Подсеть
характеристики:
network_id: {get_resource: new_net}
сидр: "10.8.1.0/24"
dns_nameservers: [ "8.8.8.8", "8.8.4.4" ]
ip_версия: 4
Создание и управление маршрутизатором
Используйте ресурс OS::Neutron::Router для создания маршрутизатора. Ты можешь
определите свой шлюз с помощью свойства external_gateway_info :
ресурсов:
маршрутизатор1:
тип: ОС::Neutron::Роутер
характеристики:
external_gateway_info: {сеть: общедоступная}
Вы можете подключать подсети к маршрутизаторам с Ресурс OS::Neutron::RouterInterface:
ресурсов:
subnet1_interface:
тип: ОС::Neutron::RouterInterface
характеристики:
router_id: {get_resource: router1}
подсеть: частная подсеть
Полный пример сети
В следующем примере создается сетевой стек:
Сеть и связанная с ней подсеть.

Маршрутизатор с внешним шлюзом.
Интерфейс к новой подсети для нового маршрутизатора.
В этом примере общедоступная сеть является существующей общей сетью:
ресурсов:
внутренняя_сеть:
тип: ОС::Нейтрон::Сеть
внутренняя_подсеть:
тип: ОС::Neutron::Подсеть
характеристики:
network_id: {get_resource: internal_net}
сидр: "10.8.1.0/24"
dns_nameservers: [ "8.8.8.8", "8.8.4.4" ]
ip_версия: 4
внутренний_маршрутизатор:
тип: ОС::Neutron::Роутер
характеристики:
external_gateway_info: {сеть: общедоступная}
внутренний_интерфейс:
тип: ОС::Neutron::RouterInterface
характеристики:
router_id: {get_resource: internal_router}
подсеть: {get_resource: internal_subnet}
Управление томами
Создать том
Используйте ресурс OS::Cinder::Volume для создания нового блочного хранилища объем.
Например:
ресурсов:
мой_новый_том:
тип: ОС::Cinder::Volume
характеристики:
размер: 10
Создаваемые тома по умолчанию пусты.
Используйте свойство image для
создать загрузочный том из существующего образа:
ресурсов:
мой_новый_загрузочный_том:
тип: ОС::Cinder::Volume
характеристики:
размер: 10
изображение: ubuntu-доверенное-x86_64
Вы также можете создавать новые тома из другого тома, моментального снимка тома или
резервное копирование тома. Используйте source_volid
snapshot_id или backup_id свойства для создания нового тома из существующего источника.Например, чтобы создать новый том из резервной копии:
ресурсов:
другой_том:
тип: ОС::Cinder::Volume
характеристики:
backup_id: 2fff50ab-1a9c-4d45-ae60-1d054d6bc868
В этом примере размер свойство не определено, так как блочное хранилище
service использует размер резервной копии для определения размера нового тома.
Присоединить том к экземпляру
Используйте ресурс OS::Cinder::VolumeAttachment для присоединения тома к
экземпляр.
В следующем примере создается том и экземпляр, а также присоединяется том к экземпляру:
ресурсов:
новый_том:
тип: ОС::Cinder::Volume
характеристики:
размер: 1
новый_экземпляр:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
том_вложение:
тип: ОС::Cinder::VolumeAttachment
характеристики:
Volume_id: {get_resource: новый_том}
instance_uuid: {get_resource: new_instance}
Загрузите экземпляр с тома
Использовать свойство block_device_mapping OS::Nova::Server
resource для определения тома, используемого для загрузки экземпляра. Это свойство представляет собой список
томов для подключения к экземпляру перед его загрузкой.
В следующем примере создается загрузочный том из образа и используется для загрузить экземпляр:
ресурсов:
загрузочный_том:
тип: ОС::Cinder::Volume
характеристики:
размер: 10
изображение: ubuntu-доверенное-x86_64
пример:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.
маленький
сети:
- сеть: частная
block_device_mapping:
- имя_устройства: vda
Volume_id: {get_resource: bootable_volume}
delete_on_termition: ложь
OpenStack: не удалось удалить группу безопасности, поскольку указано, что она используется
спросил
Изменено 3 года, 5 месяцев назад
Просмотрено 5к раз
Когда я пытаюсь удалить группу безопасности, операция удаления завершается сбоемe7-f3a3-4b44-8060-2675058ea786 Группа безопасности f54609e7-f3a3-4b44-8060-2675058ea786 используется.
Я попытался удалить все правила группы безопасности, и появилось то же сообщение об ошибке.
Как я могу освободить его?
- openstack
- openstack-neutron
Я столкнулся с той же проблемой и решил ее, удалив порты, используемые в соответствующей группе безопасности.

маленький
изображение: ubuntu-доверенное-x86_64
сети:
- порт: {get_resource: instance_port}
экземпляр2:
тип: ОС::Nova::Сервер
характеристики:
вкус: m1.маленький
изображение: ubuntu-доверенное-x86_64
сети:
- сеть: частная


маленький
сети:
- сеть: частная
block_device_mapping:
- имя_устройства: vda
Volume_id: {get_resource: bootable_volume}
delete_on_termition: ложь