экземпляров — документация 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
Я столкнулся с той же проблемой и решил ее, удалив порты, используемые в соответствующей группе безопасности.