Заказ сервера OpenStack (через API)
Чтобы заказать сервер на базе OpenStack:
- Создайте сервисный аккаунт.
- Создайте API-ключ.
- Для выполнения API-запросов получите сессионный токен.
- Для заказа сервера (instance) выполните POST-запрос согласно примеру:
где:
<ID_ПРОЕКТА> — идентификатор проекта.
- <ТОКЕН> — сессионный токен, полученный в шаге 3.
Параметры
| Параметр | Пример значения | Описание | Обязательный? |
|---|---|---|---|
| name | server1 | Имя сервера. Требования к имени сервера см. в разделе Заказ сервера | Да |
| description | Сервер для тестирования приложений | Описание сервера | Нет |
availability_zone_id | d3p1k01 | Идентификатор дата-центра (ЦОД), в котором будет находиться сервер:
| Да |
flavor_id | ad65a1ac-9347-44c5-88ed-613feeef0fee | Идентификатор конфигурации сервера. Список идентификаторов конфигураций можно посмотреть:
| Да |
ssh_keys | b5dba483-b46e-4d7f-9278-1e4fec84b6cb | Идентификаторы SSH-ключей для подключения к серверу. Список проектных SSH-ключей можно посмотреть с помощью запроса в Swagger. Список личных SSH-ключей можно посмотреть с помощью запроса в Swagger | Да, если не указан параметр user_data. Нет, если соблюдается одно из условий:
|
user_data | #cloud-config\nssh_pwauth: true\ndisable_root: true\nusers:\n - name: ivan\n passwd: '$6$.2aBcDeFg$a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6A7B8C9D0E'\n shell: /bin/bash\n lock_passwd: false\n groups: sudo | Сценарий cloud-init, например, в формате YAML или shell. Объём текста — до 16384 байт. Подробнее о параметре см. в разделе Заказ сервера | Нет |
placement_policy_id | 74cc41fd-27cf-4faa-ae16-2a4ce5fd8a1e | Идентификатор политики размещения. Список идентификаторов политик размещения можно посмотреть с помощью запроса в Swagger | Нет |
ha_enabled | true | Укажите true, чтобы после отказа гипервизора сервер автоматически перезапустился на другом гипервизоре | Нет. Если параметр не указан, по умолчанию будет false |
| Системный диск (volumes.boot) | |||
volumes.boot.image_id | 66095510-dc36-4fe0-8423-8f163ce12222 | Идентификатор образа сервера. Список идентификаторов образов можно посмотреть:
Если вы хотите использовать образ, который самостоятельно загрузили или создали из диска, то ИД такого образа можно получить с помощью запроса в Swagger | Да |
volumes.boot.size | 11 | Размер системного диска в ГБ | Да |
volumes.boot.volume_type_id | 2d75488e-a10d-4080-b7c1-d71067ad8314 | Идентификатор типа системного диска. Cписок идентификаторов типов дисков можно посмотреть:
| Да |
| Дополнительные диски (volumes.extra). Если нужен дополнительный диск, укажите все параметры. Если не нужен, не указывайте ни один из них | |||
volumes.extra.name | dop-disk | Название дополнительного диска | Нет |
volumes.extra.size | 3 | Размер дополнительного диска в ГБ | Нет |
volumes.extra.volume_type_id | 2207b7c5-5848-477b-9745-8cb422af1705 | Идентификатор типа диска. Список идентификаторов типов дисков можно посмотреть:
| Нет |
| Сетевые настройки сервера (network_interfaces) | |||
network_interfaces.use_external_network | false | Укажите true, чтобы сервер имел статический публичный IP-адрес в Интернете, но без доступа к локальной сети (публичный доступ). Укажите false, чтобы сервер находился в локальной сети с возможностью доступа из сети Интернет (локальный доступ) | Нет. Если параметр не указан, по умолчанию будет false |
network_interfaces.bandwidth | 100 | Ограничение пропускной способности канала — от 100 до 10 000 Мбит/сек. Значение должно быть кратно 100 | Да, если в параметре network_interfaces.use_external_network указано true |
network_interfaces.subnet_id | 65795365-2461-42a9-a3eb-aa992ec7ba0f | Идентификатор подсети, к которой будет подключён сервер. Можно указать подсеть с общим доступом из другого проекта организации (не того, в котором заказывается сервер). Список идентификаторов подсетей можно посмотреть с помощью запроса в Swagger | Да, если в параметре network_interfaces.use_external_network указано false |
network_interfaces.ip_address | 192.169.0.1 | IP-адрес сетевого интерфейса | Нет |
network_interfaces.security_group_ids | cef79960-4845-41b3-a4de-1b46c0849796 | Идентификаторы групп безопасности. Список идентификаторов групп безопасности можно посмотреть с помощью запроса в Swagger | Да |
Публичный IP-адрес (network_interfaces.public_ip). Актуально, если в параметре network_interfaces.use_external_network указано false | |||
network_interfaces.public_ip.create | true | Укажите true, если серверу нужно автоматически присвоить IP-адрес из пула свободных публичных IP-адресов. Укажите false, если серверу нужно присвоить публичный IP-адрес, указанный в параметре network_interfaces.public_ip.id | Нет. Если параметр не указан, по умолчанию будет false |
network_interfaces.public_ip.id | a083ba61-4b0e-4681-aeb4-f551286e571b | Идентификатор публичного IP-адреса. Список идентификаторов публичных IP-адресов можно посмотреть с помощью запроса в Swagger | Да, если в параметре network_interfaces.public_ip.create указано false |
network_interfaces.public_ip.bandwidth | 500 | Ограничение пропускной способности канала — от 100 до 10 000 Мбит/сек. Значение должно быть кратно 100 | Да, если в параметре network_interfaces.public_ip.create указано true |