Используя функции командной строки, вы можете создавать серверы, выбирая нужную вам операционную систему, конфигурацию и локацию сервера.
Основными плюсами использования 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.