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.
-
Установите Python 3:
sudo apt update
sudo apt install python3 -
Установите pip3:
sudo apt install python3-pip
-
Установите OpenStack CLI:
pip3 install python-openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки — для совместимости с версией релиза Yoga требуется версия 3.4.0:
pip3 install python-octaviaclient===3.4.0
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
-
Откройте CLI.
-
Установите Python 3:
sudo dnf update -y
sudo dnf install python3 -y -
Установите pip3:
sudo dnf install python3-pip -y
-
Установите OpenStack CLI:
pip3 install python-openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки — для совместимости с версией релиза Yoga требуется версия 3.4.0:
pip3 install python-octaviaclient===3.4.0
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
-
Откройте CLI.
-
Установите Python 3 и pip3:
brew install python3
-
Установите OpenStack CLI:
brew install openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки — дл я совместимости с версией релиза Yoga требуется версия 3.4.0:
pip3 install python-octaviaclient===3.4.0
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
-
Загрузите и установите Python, например, версию Python 3.12.0. При запуске установки отметьте чекбокс Add python.exe to PATH.
-
Загрузите и установите Microsoft C++ Build Tools. При запуске установки в разделе Workloads в блоке Desktop & Mobile отметьте чекбокс Desktop development with C++.
-
Откройте cmd.
-
Установите OpenStack CLI:
pip3 install python-openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки — для совместимости с версией релиза Yoga требуется версия 3.4.0:
pip3 install python-octaviaclient===3.4.0
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
Создать сервисного пользователя
Для авторизации в OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект.
-
В панели управления перейдите в раздел Управление доступом → Управление пользователями.
-
Нажмите Добавить пользователя.
-
Выберите тип Сервисный пользователь.
-
Введите имя пользователя. Оно будет использоваться при авторизации.
-
Введите пароль для пользователя или сгенерируйте его.
-
Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.
-
Выберите роль пользователя:
- Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
- Наблюдатель проекта — может просматривать ресурсы проекта.
-
Отметьте проекты, в которые нужно добавить пользователя.
-
Нажмите Добавить пользователя.
Настроить авторизацию
Для авторизации в OpenStack API нужно добавить переменные окружения. В Unix-системах (Ubuntu, Debian, CentOS и macOS) для этого нужно запустить скрипт из RС-файла, который можно скачать в панели управления, в Windows — добавить переменные вручную.
Авторизацию в OpenStack API можно настроить только для одного сервисного пользователя, проекта и пула. При необходимости можно изменить данные для авторизации.
Ubuntu, Debian, CentOS, macOS
Windows
Docker
-
В панели управления перейдите в раздел Управление доступом → Управление пользователями.
-
Откройте вкладку Сервисные пользователи.
-
Откройте страницу созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта → вкладка Доступ.
-
В блоке RC-файлы:
4.1. Выберите проект.
4.2. Выберите регион.
4.3. Выберите пул. Управлять инфраструктурой проекта можно будет только в этом пуле.
4.4. Нажмите Скачать.
-
В локальной системе перейдите в директорию со скачанным 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
;OS_AUTH_URL
— адрес (URL) зависит от региона и пула, можно посмотреть в списке URL;<account_id>
— номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;<project_id>
— ID проекта. В панели управления перейдите в раздел Облачная платформа → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите ;<project_name>
— имя проекта. Можно посмотреть в панели управления в разделе Облачная платформа → меню проектов;<pool>
— пул, напримерru-2
. Управлять инфраструктурой проекта можно будет только в этом пуле;<user_name>
— имя созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта.;<user_password>
— пароль сервисного пользователя.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Для работы с OpenStack CLI можно использовать Docker-контейнер.
-
В панели управления перейдите в раздел Управление доступом → Управление пользователями.
-
Откройте вкладку Сервисные пользователи.
-
Откройте страницу созданного сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта → вкладка Доступ.
-
В блоке RC-файлы:
4.1. Выберите проект.
4.2. Выберите регион.
4.3. Выберите пул. Управлять инфраструктурой проекта можно будет только в этом пуле.
4.4. Нажмите Скачать.
-
В локальной системе установите Docker. Подробнее в инструкции Установить Docker в документации Docker.
-
Откройте CLI.
-
Создайте директорию для работы с Docker:
mkdir <docker_directory>
Укажите
<docker_directory>
— имя директории, в которой будет создан Dockerfile. -
Переместите RC-файл, который вы скачали на шаге 4.4, в директорию с 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.