Создание облачного сервера (виртуальной машины)
Можно создать сервер с:
- загрузочным локальным диском;
- загрузочным сетевым диском;
- с загрузочным локальным диском и дополнительным сетевым диском;
- с загрузочным сетевым диском и дополнительным сетевым диском.
Создание в панели управления
Для создания облачного сервера в панели управления Облачной платформой:
- Перейдите в раздел Серверы и нажмите кнопку Создать сервер.
- Укажите имя сервера, регион и зону. Имя машине присваивается автоматически, при необходимости его можно изменить.
- По умолчанию в качестве операционной системы выбирается образ Ubuntu. Для того чтобы сменить образ, нажмите на кнопку Выбрать другой источник. Можно выбрать один из готовых образов, использовать собственный образ, а также ранее созданный диск или снапшот. В поле User data, открывающееся по кнопке {…}, дополнительно можно прописать пользовательский скрипт, выполняющийся при загрузке системы.
Выберите конфигурацию виртуальной машины. Существует два вида конфигураций:
- фиксированная — несколько линеек конфигураций, где представлены различные комбинации процессоров и оперативной памяти. Ограничения по ресурсам: до 36 CPU, 128 RAM в зависимости от линейки конфигурации;
- произвольная — свободный выбор количества ядер и оперативной памяти до 8 CPU, 64 RAM, 512 SSD.
Для всех конфигураций серверов можно использовать дисковые хранилища – локальный или сетевой диск. Если галочка “Локальный диск” установлена, локальный диск выбран в качестве системного.
Если выбран сетевой диск в качестве системного (галочка “Локальный диск” не установлена), то выберите его тип:
- базовый — для хранения больших объемов данных, которые не нужно часто читать или перезаписывать;
- быстрый — меньшее время отклика и большая скорость работы по сравнению с базовым диском;
- универсальный — для размещения системных дисков виртуальных машин.
Укажите размер сетевого диска.
Если в качестве системного диска указан локальный диск и нет необходимости в дополнительном диске, то сетевой диск можно удалить, нажав кнопку Удалить диск.
Для добавления дополнительного сетевого диска нажмите кнопку Добавить сетевой диск.
Выберите подходящий тип подсети, к которой будет подключен сервер. Если в регионе, в котором создается сервер, есть подсети, то они отобразятся в списке.
Примечание: подробнее о дальнейшей работе с сетями, например, о подключении сервера к внешней сети, в инструкции Управление сетями.
Определите настройки доступа. Укажите пароль для root или добавьте SSH-ключ для более безопасного подключения.
Нажмите кнопку Создать.
Созданный облачный сервер появится в списке серверов проекта.
Подготовка к созданию с помощью CLI
Подробно о начале работы через консольные клиенты в инструкции Начало работы с OpenStack CLI.
Перед созданием облачного сервера вам нужно выбрать образ сервера, доступную зону, сеть и флейвор сервера.
Образ сервера
Вы можете выбрать готовый образ или загрузить собственный, подробнее в инструкции Создание образа.
Просмотрите список всех доступных образов операционных систем, используя команду:
openstack image list --public
Список образов выглядит следующим образом:
+--------------------------------------+--------------------------------------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------------------------------------+--------+
| 771635f4-7604-4c1c-abd6-8934237d8816 | CentOS 7 64-bit | active |
| 0cd42521-8146-4488-967b-da6f6d15f156 | CentOS 7 Minimal 64-bit | active |
| ad82e097-d786-4201-a637-5a50abe95483 | CentOS 8 64-bit | active |
| 3b7d0b97-e808-45e4-877f-4b8801563497 | CoreOS | active |
| cf7e6a23-bd30-4cad-98e5-88d0ede05954 | Debian 10 (Buster) 64-bit | active |
| 82ed4d6d-ca96-4736-beb3-3ad56f3c3a62 | Debian 8 (Jessie) 64-bit | active |
| 145e6700-8f6b-40ac-91d4-102d156aa9d0 | Debian 9 (Stretch) 64-bit | active |
| cf67b80c-9c08-439e-97f3-4c12bbc25feb | Fedora 28 64-bit | active |
| 37221cd3-f636-40e8-9624-f493a0e148df | Fedora 29 64-bit | active |
| 2b87f642-b581-43c1-9b84-46969d6199b6 | Fedora 30 64-bit | active |
| 694f5167-67d1-426f-808b-6606ebc14566 | Fedora 31 64-bit | active |
| 05372e42-e654-4349-865d-cd941f257e65 | Fedora Atomic 27 64-bit | active |
| e95f07cd-fcce-4813-88ca-50dfc6a60a66 | Fedora Atomic 28 64-bit | active |
| d0ebf434-cb62-4168-a3f1-1ea17a0a586a | Fedora Atomic 29 64-bit | active |
| bd6035e9-6813-44cf-b121-7a03b72a6f8f | RancherOS | active |
| 1da506f9-1afa-4258-8049-9adc6988b5cb | Ubuntu 16.04 LTS 64-bit | active |
| 266e724e-d6a8-4b6e-86b8-9d634abe057b | Ubuntu 16.04 LTS GPU Drivers 64-bit | active |
| c5c8d3cc-9a2c-48ce-adfe-93e066e9ae6e | Ubuntu 18.04 LTS 64-bit | active |
| 7d93991b-aa64-41de-a728-8d08018553cf | Ubuntu 18.04 LTS GPU Drivers 64-bit | active |
| ca311e9f-943c-4ebb-849c-002b04962b4c | Ubuntu 20.04 LTS 64-bit | active |
| da041a03-7ae8-405f-bcd7-072f9fede164 | Windows Server 2012 R2 Standard | active |
| d8735845-de63-4202-983e-c618888ccd08 | Windows Server 2016 Standard | active |
| 568685fa-573b-48f5-971a-8162c9016c19 | Windows Server 2016 Standard (GPU Drivers) | active |
| 87bf1e26-5cb3-4d89-93eb-c094e1bffa62 | Windows Server 2019 Standard Legacy BIOS | active |
| 8cd12e23-a228-4dbb-864f-319e80a8dd44 | blank-simple-image | active |
| bac517e3-6b48-47cf-8135-a3189785e539 | selectel-rescue-initrd | active |
| 1e3206a6-9e37-4d69-9733-855ade507782 | selectel-rescue-kernel | active |
+--------------------------------------+--------------------------------------------+--------+
Для просмотра информации об образе по UUID введите:
openstack image show <UUID image>
Для просмотра информации об образе по имени введите:
openstack image show <image name>
Выбрав нужный образ, скопируйте его ID — он понадобится при создании сервера.
Доступные зоны
В регионе может быть доступна одна или несколько зон. Каждая зона представляет собой набор серверов виртуализации и хранения данных, расположенных в отдельных стойках. Серверы в различных зонах можно объединять локальными сетями. Доступные в каждой зоне ресурсы определяются квотами.
openstack availability zone list --compute
Список доступных зон выглядит следующим образом:
+-----------+-------------+
| Zone Name | Zone Status |
+-----------+-------------+
| ru-1a | available |
| ru-1b | available |
+-----------+-------------+
Сохраните имя выбранной зоны.
Просмотр информации о сетях
Для просмотра доступных сетей:
openstack network list
Ответ будет выглядеть следующим образом:
+--------------------------------------+------------------+-----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+------------------+-----------------------------------------------------+
| 1c037362-487f-4103-a73b-6cba3f5532dc | nat | b7be542a-2eef-465e-aacd-34a0c83e6afa 192.168.0.0/24 |
| ab2264dd-bde8-4a97-b0da-5fea63191019 | external-network | 102a9263-2d84-4335-acfb-6583ac8e70aa |
| | | aa9e4fc4-63b0-432e-bcbd-82a613310acb |
| fce90252-7d99-4fc7-80ae-ef763d12938d | newnetwork | 5a1a68f9-b885-47b7-9c7e-6f0e08145e3b 192.168.1.0/24 |
+--------------------------------------+------------------+-----------------------------------------------------+
Можно выбрать приватную или публичную сеть. UUID сети нужно будет указать при создании сервера.
Подробнее о настройке сервера после создания, например, подключении плавающего IP-адреса или порта к серверу, в инструкции Управление сетями.
Флейвор сервера
В терминологии OpenStaсk конфигурации сервера обозначаются термином флейвор (flavor).
Для создания сервера вы можете:
- выбрать флейвор фиксированной конфигурации;
- или создать флейвор требуемой конфигурации.
Сохраните UUID и имя флейвора.
Просмотр типов сетевых дисков
Для создания сервера с сетевыми дисками нужно выбрать их тип.
Просмотрите список доступных типов:
openstack volume type list
Он выглядит следующим образом:
+--------------------------------------+-----------------+-----------+
| ID | Name | Is_Public |
+--------------------------------------+-----------------+-----------+
| 00a8c3b9-715e-438b-845c-89fbc1e9e62b | fast.ru-1b | True |
| 27c66842-2b9f-4d71-a957-383ca5ee19c4 | fast.ru-1a | True |
| 2c9a6741-5901-40ff-ba67-4a7e70ad7563 | universal.ru-1a | True |
| 48f5caf9-9bc9-49ed-bdf5-0b29c544b0b0 | universal.ru-1b | True |
| 9c535a8c-cce1-4780-95bf-76c68b99c52f | iso.ru-1a | True |
| c7f1cda0-ebcb-4711-8f50-e13e6e4fc9eb | basic.ru-1b | True |
| ea11f5ad-baeb-461e-9769-47facee5dbcd | basic.ru-1a | True |
+--------------------------------------+-----------------+-----------+
Для дисков серверов следует использовать типы fast, basic и universal в нужной зоне вида <тип диска>.<имя зоны>, например fast.ru-2b
.
Перейдите к созданию облачного сервера в зависимости от его типа по инструкциям ниже. После создания он появится в списке серверов проекта.
Создание сервера с загрузочным локальным диском
С помощью CLI
Для создания облачного сервера с загрузочным локальным диском укажите зону доступности, имя выбранного флейвора, сеть и имя образа, из которого нужно создать сервер, например:
openstack server create \
--availability-zone ru-2b \
--flavor SL1.1-1024-8 \
--nic net-id=net_name \
--image 'Ubuntu 18.04 LTS 64-bit' \
test-srv-with-boot-local
Ответ будет выглядеть следующим образом:
+-----------------------------+----------------------------------------------------------------+
| Field | Value |
+-----------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | ru-2b |
| OS-EXT-STS:power_state | NOSTATE |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| config_drive | |
| created | 2020-04-28T03:34:29Z |
| flavor | SL1.1-1024-8 (1311) |
| hostId | |
| id | 980f8c19-3974-466e-803e-9239c8a8a14f |
| image | Ubuntu 18.04 LTS 64-bit (c5c8d3cc-9a2c-48ce-adfe-93e066e9ae6e) |
| key_name | None |
| name | test-srv-with-boot-local |
| progress | 0 |
| project_id | 04d92ef9fe254caaa90d6ecd2849c1cf |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2020-04-28T03:34:29Z |
| user_data | None |
| user_id | d38f8bea67f94083803c5066f458664a |
| volumes_attached | |
+-----------------------------+----------------------------------------------------------------+
Через Terraform
Через Terraform можно создать проект с облачным сервером с загрузочным локальным диском, используя готовый пример на GitHub. Пример создания нескольких серверов с загрузочным локальным диском, объединённых в сеть, и сети серверов с балансировщиком нагрузки.
Создание сервера с загрузочным сетевым диском
С помощью CLI
Для создания облачного сервера с одним загрузочным сетевым диском:
- Создайте сетевой диск нужного размера и типа из образа (этот диск автоматически будет назначен загрузочным).
- Создайте сервер из этого диска. Укажите имя флейвора и сеть.
Пример создания сетевого диска:
openstack volume create --image 'Ubuntu 18.04 LTS 64-bit' --size 5 --type fast.ru-2b BOOT_VOLUME_NAME
Ответ будет выглядеть следующим образом:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | ru-2b |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2020-04-28T03:29:57.000000 |
| description | None |
| encrypted | False |
| id | 3b447abb-a4ff-4f02-baac-a6f7a02bd21e |
| multiattach | False |
| name | BOOT_VOLUME_NAME |
| properties | |
| replication_status | None |
| size | 5 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | fast.ru-2b |
| updated_at | None |
| user_id | d38f8bea67f94083803c5066f458664a |
+---------------------+--------------------------------------+
Пример создания сервера из сетевого диска:
openstack server create \
--availability-zone ru-2b \
--flavor SL1.1-1024 \
--nic net-id=net_name \
--volume BOOT_VOLUME_NAME \
test-srv-with-boot-net-volume
Ответ будет выглядеть следующим образом:
+-----------------------------+--------------------------------------+
| Field | Value |
+-----------------------------+--------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | ru-2b |
| OS-EXT-STS:power_state | NOSTATE |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| config_drive | |
| created | 2020-04-28T03:33:32Z |
| flavor | SL1.1-1024 (1011) |
| hostId | |
| id | 112f9304-4a70-428f-b588-05d61436f9d8 |
| image | |
| key_name | None |
| name | test-srv-with-boot-net-volume |
| progress | 0 |
| project_id | 04d92ef9fe254caaa90d6ecd2849c1cf |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2020-04-28T03:33:31Z |
| user_data | None |
| user_id | d38f8bea67f94083803c5066f458664a |
| volumes_attached | |
+-----------------------------+--------------------------------------+
Через Terraform
Через Terraform можно создать проект с облачным сервером с загрузочным сетевым диском, используя готовый пример на GitHub. Пример создания сервера с загрузочным сетевым диском и двумя портами в разных подсетях.
Создание сервера с загрузочным локальным и дополнительным сетевым диском
С помощью CLI
- Создайте пустой сетевой диск нужного размера и типа.
- Создайте сервер из флейвора. Укажите зону доступности, сеть, имя сетевого диска и имя образа, из которого нужно создать сервер.
Пример:
openstack volume create --size 20 --type fast.ru-2b ADD_VOLUME_NAME
openstack server create \
--availability-zone ru-2b \
--flavor SL1.1-1024-8 \
--nic net-id=net_name \
--block-device-mapping vdb=ADD_VOLUME_NAME \
--image 'Ubuntu 18.04 LTS 64-bit' \
test-srv-with-boot-local-add-volume
Через Terraform
Через Terraform можно создать проект с облачным сервером с загрузочным локальным и дополнительным сетевым диском, используя готовый пример на GitHub.
Создание сервера с загрузочным сетевым и дополнительным сетевым диском
С помощью CLI
- Создайте сетевой диск нужного размера и типа из образа – он будет загрузочным.
- Создайте дополнительный пустой сетевой диск нужного размера и типа.
- Создайте сервер. Параметр
volume
– загрузочный диск, аblock-device-mapping
– дополнительный диск.
Пример:
openstack volume create --image 'Ubuntu 18.04 LTS 64-bit' --size 5 --type fast.ru-2b BOOT_VOLUME_NAME
openstack volume create --size 20 --type fast.ru-2b ADD_VOLUME_NAME
openstack server create \
--availability-zone ru-2b \
--flavor SL1.1-1024 \
--nic net-id=net_name \
--block-device-mapping vdb=ADD_VOLUME_NAME \
--volume BOOT_VOLUME_NAME \
test-srv-with-boot-net-volume-add-volume
Создание сервера Windows с загрузочным локальным диском
С помощью CLI
Пример создания облачного сервера на базе Windows с локальным диском:
openstack server create \
--availability-zone ru-2b \
--flavor SL1.2-4096-32 \
--nic net-id=net_name \
--nic net-id=license_windows_2016_standard \
--property admin_pass='qwerty' \
--image 'Windows Server 2016 Standard' \
test-win-with-boot-local
Создание сервера Windows с загрузочным сетевым диском
С помощью CLI
Пример создания облачного сервера на базе Windows с сетевым диском:
openstack volume create --image 'Windows Server 2016 Standard' --size 32 --type fast.ru-2b WIN_BOOT_VOLUME_NAME
openstack server create \
--availability-zone ru-2b \
--flavor SL1.1-4096 \
--nic net-id=net_name \
--nic net-id=license_windows_2016_standard \
--property admin_pass='qwerty' \
--volume WIN_BOOT_VOLUME_NAME \
test-win-with-boot-net-volume
Через Terraform
Через Terraform можно создать проект с облачным сервером на Windows с загрузочным сетевым диском, используя готовый пример на GitHub.
Восстановление сети с лицензиями
При разворачивании сервера на базе Windows из собственного образа или при удалении лицензионной подсети восстановить ее можно следующим образом (перед этим необходимо выделить лицензии в проекте):
openstack server add network test-win-with-boot-net-volume license_windows_2016_standard