Написать в техподдержку Позвонить нам
Админпанель Выход

Содержание статьи:

    Создание в CLI

    Набор инструментов для работы с инфраструктурой позволяет создавать инстансы и управлять ими из командной строки.

    Рассмотрим создание виртуальной машины при использовании Openstack CLI.

    Перед началом работы

    Для создания виртуальной машины следует зарегистрироваться на Платформе MCS, убедиться в наличии активированного сервиса Облачных вычислений, положительного баланса счета личного кабинета, а также достаточного количества квот ресурсов для создания желаемой конфигурации инстанса.

    Обзор

    Прежде чем запустить инстанс, следует собрать следующие параметры:

    • Источник инстанса - может быть образ, снапшот (снимок) или том блочного хранилища, который содержит образ или снапшот.
    • 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

    Если ранее не были созданы группы безопасности, назначить инстансу можно группу безопасности по умолчанию. 

    Осторожно

    При назначении инстансу группы безопасности "default" будет невозможен доступ к этой машине через SSH.

    Для просмотра правил для указанной группы безопасности следует выполнить команду:

    $ openstack security group show default

    Создание группы безопасности

    По умолчанию группа безопасности "default" применяется ко всем инстансам и включает правила брандмауэра, запрещающие удаленный доступ к виртуальным машинам. Для образов Linux, таких как Ubuntu или CentOS, рекомендуется разрешить как минимум ICMP (ping) и SSH.

    Создать новую группу безопасности можно с помощью команды:

    $ openstack security group create \
    --description ICMP+SSH
    --project YOURPROJECT_ID
    SECURITY_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

    Сгенерировать ключевую пару и загрузить ее в проект можно при помощи команд:

    $ ssh-keygen -q -N ""
    $ openstack 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 символа, MCS автоматически урезает его при преобразовании в имя хоста, чтобы обеспечить правильную работу dnsmasq.

    В этом примере команда разбивается на отдельные строки:

    $ 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

    Примечание

    Символ обратной косой черты \ используется при вводе длинной команды. Когда вводится \, команда терминала переходит к следующей строке, пока не закончится ее ввод.

    Можно удалить символ \ и поместить каждый параметр в одну строку. Например:

    $ 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.

    Также можно увидеть информацию о новом инстансе в панели MCS.

    Для получения дополнительных параметров используется следующая команда:

    $ 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-адреса, образ и флейвор для всех инстансов в проекте.

    Осторожно

    Если при создании инстанса не предоставить ключевую пару, осуществить доступ к такому инстансу будет невозможно.


    Полезна ли была эта статья?