Инструкция по Openstack CLI

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

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

Установка Openstack CLI

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

Для каждого дистрибутива есть свой набор утилит.

Установка с помощью pip

CentOS

yuminstallepel-release
yuminstallpython-develpython-pip
pipinstallpython-openstackclient.

Ubuntu\Debian

aptinstallpython-devpython-pip
pipinstallpython-openstackclient.

Установка из пакетов

Centos

yuminstallepel-release
yuminstallpython-openstackclient.

Ubuntu\Debian

aptinstallpython-openstackclient.

macOSX, используя brew.

Если Homebrew не установлен в вашей системе, то через Terminal.app:

/usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"

Используя brew, мы сначала скачиваем и инсталлируем Python 3 в Terminal.app:

brewinstallpython.

Использование бинарного пакета Python

  1. Скачиваем последнюю стабильную сборку на сайте Python.org.
  2. Устанавливаем OpenStack CLI: sudopip3 installpython-openstackclient.
  3. Далее черезTerminal.app: source ~/openrc.sh.

Windows 10

  • Устанавливаем WinPython – используем последний стабильный пакет с сайта https://winpython.github.io.
  • Открываем WinPythonPowershell (находится в папке, куда была произведена инсталляция из пакета), выполняем следующие команды:

    python --version
    pip --version.

Установка переменных для сессии

1. По умолчанию OpenStack API требуется конфигурация переменных, OpenStack RC файл используется в Unix/Linux-based системах и не работает в Windows. Это означает, что мы должны в ручном режиме установить переменные в PowerShell/CommandPromt.

set OS_AUTH_URL=https://public.dataline.cloud:5000/v3/
set OS_USERNAME=*USERNAME*
set OS_PASSWORD=*PASSWORD*
set OS_PROJECT_ID=*PROJECT ID*
set OS_DOMAIN_ID=*DOMAIN_ID*.

Примечание: в случае закрытия окна PowerShell/Command данные переменные удаляются.

Если вы не уверены, что данные заполнены правильно:

  • скачайте OpenStack RC файл из дашборда (Account → Access);
  • откройте файл RC при помощи Notepad и найдите вышеуказанные переменные, исключая пароль.

2. Устанавливаем OpenStack CLI, используя Powershell или CommandPrompt:

pip install -U buildtools
pip install python-openstackclient

3. Проверяем что все работает: openstackserverlist.

Если список VM отобразился, то все работает правильно.

Использование Openstack CLI

Каждая команда CLI имеет опцию --help, подробно описывающую параметры команды.

Создание серверных групп

  • Для того чтобы создать servergroup, потребуются следующие команды: openstackservergroupcreate [--policy<policy>] <name>, где policy может быть affinity или anti-affinity.Чтобы создать servergroupсanti-affinity средствами openstackcli: openstackservergroupcreate --policyanti-affinitygroup-1.
  • Если нам требуется создать affinity правило для группы серверов, то посредством OpenStack CLI мы должны выполнить команду:
    openstackservergroupcreate–policyaffinitygroup-2.

Создание сетей

Для того что бы в нашем проекте мы могли создать VM, потребуется предварительно создать сеть(net) и подсеть (subnet), а также виртуальный маршрутизатор (router).

1. Создаем сеть посредством OpenStack CLI

openstacknetworkcreatenet1 --provider-network-typevxlan

2. Создаем подсеть

openstacksubnetcreatesubnet1 --networknet1 --subnet-range 192.168.0.0/24 –gateway 192.168.0.1 --allocation-pool start=192.168.0.20,end=192.168.0.240 --dns-nameserver 8.8.8.8

3. Создаем роутер

openstack router create router1

4. Привязываем к роутеру FloatIPs

openstack router set router1 --external-gateway external-for-clients_floating

5. Подключаем нашу подсеть к роутеру

openstack router add subnet router1 subnet1

Подпишитесь на нашу рассылку

Получайте свежие и полезные материалы и приглашения на наши мероприятия

randomness