Используя командную строку, вы можете создавать серверы, выбирая нужную вам операционную систему, конфигурацию и локацию сервера.
Основными преимуществами использования CLI являются автоматизация процессов создания инстансов и возможность интеграции в уже существующий проект.
Для установки на локальную систему программного обеспечения, необходимого для работы с консольными клиентами OpenStack, используйте следующие команды.
Для каждого дистрибутива есть свой набор утилит.
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.
sudopip3 installpython-openstackclient
.source ~/openrc.sh
.Открываем 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 данные переменные удаляются.
Если вы не уверены, что данные заполнены правильно:
2. Устанавливаем OpenStack CLI, используя Powershell или CommandPrompt:
pip install -U buildtools
pip install python-openstackclient
3. Проверяем что все работает: openstackserverlist
.
Если список VM отобразился, то все работает правильно.
Каждая команда CLI имеет опцию --help, подробно описывающую параметры команды.
openstackservergroupcreate [--policy<policy>] <name>
, где policy может быть affinity или anti-affinity.Чтобы создать servergroupсanti-affinity средствами openstackcli: openstackservergroupcreate --policyanti-affinitygroup-1
.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