Создавая виртуальную машину необходимо пройти регистрацию на платформе Linx Cloud, проверить активирован ли сервис Облачных вычислений, убедиться, что баланс счета личного кабинета положителен и что достаточного квот ресурсов для создания желаемой конфигурации инстанса.
Обзор
Базовые свойства CLI для запуска инстанса:
- Источник инстанса — образ, снапшот или том блочного хранилища, соержащий образ или снапшот.
- Name (имя инстанса) — видимое название инстанса. Также задает hostname в ОС.
- Flavor (флейвор) — конфигурация инстанса, которая определяет ограничения объема виртуальных CPU и RAM для виртуальной машины.
- Key pair (ключевая пара) — учетные данные SSH для настройки аутентификации основного пользователя развертываемой ОС в инстансе. Нужно создать минимум одну пару ключей для каждого проекта, если ключевая пара уже создана с помощью внешнего инструмента, ее возможно импортировать в OpenStack. Также можно использовать пару ключей для нескольких инстансов, принадлежащих этому проекту.
- Security Group (группа безопасности) — определяет правила для входящего и исходящего трафика. Группы безопасности содержат набор политик брандмауэра, известных как правила группы безопасности.
- Floating IP-address (плавающий IP-адрес) — при необходимости можно назначить плавающий (общедоступный) IP-адрес инстансу.
- Network (сеть) — помогает определить сеть, в которой будет находиться инстанс. По умолчанию в проекте уже создана сеть ext-net.
- Volume (диск или том) — используется для подключения диска (блочного устройства) к инстансу.
Запуск инстанса возможен прямо из одного из доступных и скопированных ранее на постоянный том образов. OpenStack Image предоставляет пул образов, который доступен участникам различных проектов.
Сбор параметров
Отображение списка доступных флейворов
Для создания инстанса используется указанный идентификатор (ID) флейвора:
openstack flavor list
Получить список доступных образов
Для создания инстанса используется указанный идентификатор группы безопасности:
openstack image list
Список доступных групп безопасности
Для создания инстанса используется указанный идентификатор группы безопасности:
openstack security group list
Задать группу безопасности инстансу можно по умолчанию, если ранее не были созданы группы безопасности.
Доступ к машине будет невозможен через SSH, если инстансу назначена группа безопасности «default».
Для просмотра правил для указанной группы безопасности следует выполнить команду:
openstack security group show default
Создание группы безопасности
Автоматически группа безопасности «default» применяется ко всем инстансам и включает правила брандмауэра, запрещающие удаленный доступ к виртуальным машинам. Для образов Linux, таких как Ubuntu или CentOS, рекомендуется разрешить как минимум ICMP (ping) и SSH.
Создать новую группу безопасности можно с помощью команды:
1openstack security group create \
2--description ICMP+SSH
3--project YOURPROJECT_ID
4SECURITY_GROUP_NAME
Для добавления правила, разрешающего SSH:
openstack security group rule create --proto tcp --dst-port 22 ICMP+SSH
Для добавления разрешающего правила для ICMP:
openstack security group rule create --proto icmp ICMP+SSH
Список доступных ключевых пар
Обзор доступных ключевых пары и выбор индентификатора требуемой ключевой пары для доступа по SSH:
openstack keypair list
Сгенерировать ключевую пару и загрузить ее в проект можно при помощи команд:
1ssh-keygen -q -N ""
2openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
Список доступных сетей
Проверить наличие доступных в проекте сетей:
openstack network list
Запуск инстанса
Для начала следует создать диск из образа с операционной системой:
openstack volume create --size 20 --type ms1 --image fcdee862-6053-4270-9812-728b47ad2833 --bootable Ubuntu_boot_disk
Полученный ID диска будет необходим для запуска инстанса.
После того, как все данные собраны можно приступать к созданию инстанса. На этом этапе должны быть следующие учетные данные:
- Флейвор — b7d20f15-82f1-4ed4-a12e-e60277fe955f
- Диск — b4071336-46a3-4cb7-ae3b-403f815862ad
- Ключевая пара — myKey
- Группа безопасности — 77864043-2111-4e6a-8e4d-ba51ef82ad4b
- Сеть — 298117ae-3fa4-4109-9e08-8be5602be5a2
- Имя сервера — можно выбрать любое имя при желании, но в этом примере будет использоваться myNewServer.
Если загружать инстанс с INSTANCE_NAME, длина которого превышает 63 символа, Linx Cloud автоматически урезает его при преобразовании в имя хоста, чтобы обеспечить правильную работу dnsmasq.
В этом примере команда разбивается на отдельные строки:
1openstack server create --flavor b7d20f15-82f1-4ed4-a12e-e60277fe955f \
2 --volume b4071336-46a3-4cb7-ae3b-403f815862ad \
3 --key-name myKey \
4 --security-group 77864043-2111-4e6a-8e4d-ba51ef82ad4b \
5 --network 298117ae-3fa4-4109-9e08-8be5602be5a2 \
6 myNewServer
Символ обратной косой черты \ используется при вводе длинной команды. Когда вводится \, команда терминала переходит к следующей строке, пока не закончится ее ввод.
Можно удалить символ \ и поместить каждый параметр в одну строку.
Например:
openstack server create --flavor b7d20f15-82f1-4ed4-a12e-e60277fe955f --volume b4071336-46a3-4cb7-ae3b-403f815862ad --key-name myKey --security-group 77864043-2111-4e6a-8e4d-ba51ef82ad4b --network 298117ae-3fa4-4109-9e08-8be5602be5a2 myNewServer
Если сервер был создан правильно, можно увидеть такой вывод:
+-----------------------------+------------------------------------------------------------+
| Field | Value |
+-----------------------------+------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| 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 | |
| adminPass | H7abydAd8Lhi |
| config_drive | |
| created | 2020-08-09T20:22:58Z |
| flavor | Standard-2-4-50 (b7d20f15-82f1-4ed4-a12e-e60277fe955f) |
| hostId | |
| id | da4312fa-461f-4fcd-83ed-2441c93a73fb |
| image | Ubuntu-19.10-202003 (fcdee862-6053-4270-9812-728b47ad2833) |
| key_name | myKey |
| name | myNewServer |
| progress | 0 |
| project_id | 74f4a279430d481792c7d4c2cf233c26 |
| properties | |
| security_groups | name='77864043-2111-4e6a-8e4d-ba51ef82ad4b' |
| status | BUILD |
| updated | 2020-08-09T20:22:59Z |
| user_id | 4b8b2d73b31e423fabfb898d8ecaec29 |
| volumes_attached | |
+-----------------------------+------------------------------------------------------------+
Состояние bilding означает, что инстанс запущен, но еще не готов к использованию. Состояние active указывает на то, что инстанс активен. Скопируйте значение административного пароля из поля adminPass. Вы можете использовать этот пароль позже для входа на свой сервер через консоль KVM.
Также можно увидеть информацию о новом инстансе в панели Linx Cloud.
Для получения дополнительных параметров используется следующая команда:
openstack help server create
Можно также помещать произвольные локальные файлы в файловую систему экземпляра во время создания с помощью параметра --file <dest-filename = source-filename>
. Доступно хранение до пяти файлов.
Например, если у есть специальный файл авторизованных ключей с именем special_authorized_keysfile
, который нужно поместить в инстанс, а не использовать обычную инъекцию ключа SSH, можно добавить параметр –file, как показано в следующем примере:
--file /root/.ssh/authorized_keys=special_authorized_keysfile
Проверить состояние инстанса:
Для просмотра списка всех серверов используется команда list:
openstack server list
В списке показаны идентификатор, имя, статус, IP-адреса, образ и флейвор для всех инстансов в проекте.
Если при создании инстанса не предоставить ключевую пару, осуществить доступ к такому инстансу будет невозможно.