OpenStack CLI
OpenStack CLI — это консольный клиент для работы с OpenStack API. Через OpenStack CLI в Selectel можно управлять облачной инфраструктурой: серверами, группами размещения, сетевыми дисками, сетями, образами и балансировщиками нагрузки.
Документацию по работе с продуктами через OpenStack CLI можно посмотреть на вкладке OpenStack
в инструкциях, например, Создать облачный сервер или Подключить диск.
Актуальные версии компонентов, которые поддерживаются в Selectel, можно посмотреть в таблице Версии компонентов OpenStack.
OpenStack CLI можно установить в локальной системе.
- Установите OpenStack CLI и дополнительные пакеты. Если для работы с OpenStack CLI вы хотите использовать Docker-контейнер, этот шаг выполнять не нужно.
- Создайте сервисного пользователя для авторизации в OpenStack API.
- Настройте авторизацию в OpenStack API.
Версии компонентов OpenStack
Установить OpenStack CLI
- Ubuntu, Debian
- CentOS
- macOS
- Windows
Откройте CLI.
Установите OpenStack CLI:
sudo apt update
sudo apt install python3-openstackclientПроверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
Опционально: установите дополнительные пакеты для компонентов OpenStack:
apt install python3-<compoment>client
Укажите
<compoment>
— имя компонента:octavia
— для работы с балансировщиками нагрузки;glance
— для работы с образами.
Откройте CLI.
Установите pip для Python3:
sudo yum update
sudo yum install python3-pipУстановите OpenStack CLI:
pip3 install python-openstackclient
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
Опционально: установите дополнительные пакеты для компонентов OpenStack:
apt install python3-<compoment>client
Укажите
<compoment>
— имя компонента:octavia
— для работы с балансировщиками нагрузки;glance
— для работы с образами.
Откройте CLI.
Установите Python3:
brew install python
Установите OpenStack CLI:
pip3 install python-openstackclient
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
Опционально: установите дополнительные пакеты для компонентов OpenStack:
apt install python3-<compoment>client
Укажите
<compoment>
— имя компонента:octavia
— для работы с балансировщиками нагрузки;glance
— для работы с образами.
Загрузите и установите Python, например, версию Python 3.12.0. При запуске установки отметьте чекбокс Add python.exe to PATH.
Загрузите и установите Microsoft C++ Build Tools. При запуске установки в разделе Workloads в блоке Desktop & Mobile отметьте чекбокс Desktop development with C++.
Откройте cmd.
Установите OpenStack CLI:
pip install -U buildtools
pip install python-openstackclientПроверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
Опционально: установите дополнительные пакеты для компонентов OpenStack:
pip install python-<compoment>client
Укажите
<compoment>
— имя компонента:octavia
— для работы с балансировщиками нагрузки;glance
— для работы с образами.
Создать сервисного пользователя
Для авторизации в OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект облачной платформы.
В панели управления в правом верхнем углу откройте меню (номер аккаунта) и выберите Профиль и настройки.
Перейдите в раздел Управление пользователями.
Нажмите Добавить пользователя.
Выберите тип Сервисный пользователь.
Введите имя пользователя. Оно будет использоваться при авторизации.
Введите пароль для пользователя или сгенерируйте его.
Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.
Выберите роль пользователя:
- Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
- Наблюдатель проекта — может просматривать ресурсы проекта.
Отметьте проекты, в которые нужно добавить пользователя.
Нажмите Добавить пользователя.
Настроить авторизацию
Для авторизации в OpenStack API нужно добавить переменные окружения. В Unix-системах (Ubuntu, Debian, CentOS и macOS) для этого нужно запустить скрипт из RС-файла, который можно скачать в панели управления, в Windows — добавить переменные вручную.
Авторизацию в OpenStack API можно настроить только для одного сервисного пользователя, проекта облачной платформы и пула. При необходимости можно изменить данные для авторизации.
- Ubuntu, Debian, CentOS, macOS
- Windows
- Docker
В панели управления перейдите в раздел Облачная платформа → Доступ.
Откройте вкладку Внешний доступ.
Выберите созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта.
Выберите пул. Управлять инфраструктурой проекта можно будет только в этом пуле.
Нажмите Скачать.
В локальной системе перейдите в директорию со скачанным RC-файлом:
cd <directory_name>
Укажите
<directory_name>
— имя директории с RC-файлом.Запустите скрипт из RC-файла:
source <file_name.sh>
Укажите
<file_name.sh>
— имя RC-файла, по умолчаниюrc.sh
.Введите пароль OpenStack — пароль сервисного пользователя, для которого создан RC-файл.
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Откройте cmd или PowerShell.
Добавьте переменные окружения:
<set> OS_AUTH_URL=https://cloud.api.selcloud.ru/identity/v3
set OS_IDENTITY_API_VERSION=3
set OS_VOLUME_API_VERSION=3
set CLIFF_FIT_WIDTH=1
set OS_PROJECT_DOMAIN_NAME=<account_id>
set OS_PROJECT_ID=<project_id>
set OS_TENANT_ID=<project_id>
set OS_TENANT_NAME=<project_name>
set OS_REGION_NAME=<pool>
set OS_USER_DOMAIN_NAME=<account_id>
set OS_USERNAME=<user_name>
set OS_PASSWORD=<user_password>Укажите:
<set>
— команда для добавления переменных окружения. Если вы работаете в cmd, используйте командуset
, если в PowerShell —env
;<account_id>
— номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;<project_id>
— ID проекта облачной платформы. В панели управления перейдите в раздел Облачная платформа → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите ;<project_name>
— имя проекта облачной платформы. Можно посмотреть в панели управления в разделе Облачная платформа → меню проектов;<pool>
— пул, напримерru-2
. Управлять инфраструктурой проекта можно будет только в этом пуле;<user_name>
— имя созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта.;<user_password>
— пароль сервисного пользователя.
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Для работы с OpenStack CLI можно использовать Docker-контейнер.
В панели управления перейдите в раздел Облачная платформа → Доступ.
Откройте вкладку Внешний доступ.
Выберите созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта.
Выберите пул. Управлять инфраструктурой проекта можно будет только в этом пуле.
Нажмите Скачать.
В локальной системе установите Docker. Подробнее в инструкции Установить Docker в документации Docker.
Откройте CLI.
Создайте директорию для работы с Docker:
mkdir <docker_directory>
Укажите
<docker_directory>
— имя директории, в которой будет создан Dockerfile.Переместите RC-файл, который вы скачали на шаге 5, в директорию с Dockerfile.
Создайте в этой директории пустой файл для Dockerfile:
nano <dockerfile_name>
Укажите
<dockerfile_name>
— имя Dockerfile.Добавьте в Dockerfile команды для установки OpenStack CLI:
FROM alpine:3.17
RUN apk add --update --no-cache python3 python3-dev libffi libffi-dev \
git openssl openssl-dev cargo build-base iputils curl linux-headers \
py3-pip py3-cffi py3-tz py3-pbr py3-setuptools && \
pip3 install -UI git+https://github.com/openstack/python-openstackclient.git@stable/2023.1 \
git+https://github.com/openstack/python-glanceclient.git@stable/2023.1 \
git+https://github.com/openstack/python-octaviaclient.git@stable/2023.1 \
&& apk del build-base linux-headers python3-dev libffi-dev openssl-dev git cargo iputils curl && rm -rf /var/cache
CMD ["sh"]Соберите Docker-контейнер:
docker build -t osc:antelope .
Запустите Docker-контейнер:
docker run -ti --rm -v $(pwd):/workspace osc:antelope
Перейдите в директорию
workspace
:cd workspace
Запустите скрипт из RC-файла:
source <file_name.sh>
Укажите
<file_name.sh>
— имя RC-файла, который вы переместили в директорию с Dockerfile на шаге 9.Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Изменить данные для авторизации
Чтобы изменить данные для авторизации:
- задайте новые значения переменных окружения. Для Ubuntu, Debian, CentOS и macOS — измените переменные в RC-файле; для Windows — задайте значения напрямую;
- передайте новые значения в командах OpenStack CLI ключами. Например, для изменения пула используйте ключ
--os-region-name
. Список всех опций и примеры можно посмотреть в разделе Options документации OpenStack.