Создание сервера через CLI (командную строку) Openstack

18.11.2019
Сложность
8 мин.
1772

Используя функции командной строки, вы можете создавать серверы, выбирая нужную вам операционную систему, конфигурацию и локацию сервера.

Основными плюсами использования CLI являются автоматизация процессов создания инстансов и возможность интеграции в уже существующий проект.

Для создания инстансов с помощью командной строки, необходимо подготовить платформу, на которую нужно установить утилиту openstack. Это может быть готовый виртуальный сервер или даже персональный компьютер. Мы рекомендуем использовать ОС Ubuntu.

В нашем примере в качестве платформы мы будем использовать уже созданный виртуальный сервер.

Установка утилиты openstack и авторизация пользователя Public Cloud в панели управления Horizon.

Откройте консоль сервера, из которого планируете осуществлять управление услугой Public Cloud.

Установите утилиту openstack:
актуализируйте пакеты командой: apt update;
установите необходимый пакет: apt-get -y install python-openstackclient.

Откройте письмо активации услуги "Public Cloud",

кликните по ссылке напротив "Openstack Dashboard URL" (шаг-1)


в открывшемся окне в поле "UserName" введите значение "Username" (шаг-2),
в поле "Password" введите значение "Password" из письма активации услуги (шаг-3)
и нажмите кнопку "Connect"


Вы зашли в панель управления Horizon. Перейдите на вкладку API Access.



Откройте раскрывающийся список Download OpenStack RC File и кликните Openstack RC File (Identity API v2.0). Откроется диалоговое окно сохранения конфигурационного файла.



Скачайте файл openstack.sh с данными для пользования утилитой openstack (где project_name - имя Вашего проекта).

Поместите содержимое данного файла, к примеру, в /root/cloud1-openstack.sh.

После этого запустите следующую команду:

source /root/cloud1-openstack.sh

Диалоговое окно попросит Вас ввести пароль:

Please enter your OpenStack Password for project cloud1 as user cloud1:

Из письма активации услуги скопируйте Ваш пароль, перейдите в консоль, нажмите правую кнопку мыши или комбинацию клавиш Shift + Insert и нажмите Enter.

После этого утилиту openstack можно протестировать командой:

openstack server list

В ответе будет возвращена таблица ваших инстансов в Public Cloud.



Определение параметров инстанса с помощью вспомогательных команд.

Шаблон команды создания сервера выглядит так:

openstack server create \
--config-drive True --user-data \
--flavor \
--image \
--network
Параметры:

    • название сервера.
    • конфигурация сервера   определяет параметры:vCPU; RAM; Disk.
    • образ операционной системы.
    • используемая сеть. Может быть присвоено как публичная сеть, так и локальная. 
    • пользовательский файл, который используется для задания мета-данных. К примеру для задания паролей.

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

    Instance name: server_01
    Локация:Нидерланды (NL2)
    ОС: Centos 7.X
    Пароль: root_password
    Конфигурация: 4GB RAM; 2 CPU; 40GB Drive;
    Зададим локацию сервера:
    в данный момент доступны следующие локации для создания серверов:
    • Европа   NL2
    • США   US4
    • Россия   RU1
    • Молдова  MD1

    Чтобы выбрать нужный регион, нужно выполнить команду: #export OS_REGION_NAME=NL2

    Определимся с конфигурацией для сервера. 

    Конфигурация сервера определяется переменной Flavor и по умолчанию доступно около десятка конфигураций. В Openstack так же есть возможность создавать кастомные конфигурации.
    Получим список доступных конфигураций с помощью команды #openstack flavor list:


    Наименование нужной нам конфигурации сервера (Flavor): iops1.m
    Операционная система (образ) сервера.
    Получить список доступных образов можно через команду  #openstack image list
    Образы делятся на два типа: загрузочный диск с данными и готовые шаблоны систем.
    Шаблоны систем, из которых можно создать сервер имеют характерный нейминг: <имя_шаблона>, template.



    Для облегчения поиска по образам вы можете сделать grep по образам, а затем - по имени интересующего образа:
    #openstack image list | grep -i template | grep -i centos
    Сеть.
    При создании сервера можно указать как локальную, так и внешнюю сеть.
    Список сетей можно получить командой #openstack network list



    Чтобы серверу был присвоен публичный IP-адрес, выбираем сеть “external_network”
    Пароль к серверу.
    Для задания пароля к серверу через CLI воспользуемся конфигурационным диском и файлом мета-данных.
    Для этого нужно создать файл с указанием желаемого пароля. Пожалуйста, замените YOUR_PASSWORD в команде ниже на сильный пароль к серверу.
    # touch user-data && echo "password: YOUR_PASSWORD" > user-data
    Создание сервера.

    После того, как были определены все параметры, описанные выше, можно приступать к созданию сервера:

    openstack server create "server_01" \
    --config-drive True --user-data user-data\
    --flavor iops1.m \
    --image "Centos 7-x86_64-1611, template" \
    --network external_network

    После запуска команды сервер будет в статусе создания “Build”.



    После успешного создания статус изменится на “Active” и сервер станет доступен.
    Команда #openstack server list выведет список доступных серверов. 
    В выведенной после этой команды таблице можно проверить статус сервера, а также найти IP-адрес для подключения к серверу по SSH.



    Наше мнение:

    этот способ управления сложнее, чем через панель управления Horizon или панель управления клиента Foxcloud, но с помощью него можно отладить ошибки или понять "на пальцах", как работают команды в Openstack.


    Были ли сведения полезными?
    4 
    Продолжая использовать этот сайт и пользуясь нашими услугами, Вы соглашаетесь с Правилами и условиями веб-сайта и использованием файлов cookie на нашем веб-сайте. Также ознакомьтесь с нашей Политикой конфиденциальности, согласно которой, в заявленной степени, Вы соглашаетесь на обработку Ваших персональных данных.