OpenStack CLI
OpenStack CLI — это консольный клиент для работы с OpenStack API, который устанавливается на локальный компьютер. Через OpenStack CLI в Servercore можно управлять облачной инфраструктурой: серверами, группами размещения, сетевыми дисками, сетями, образами, балансировщиками нагрузки.
Актуальные версии компонентов, которые поддерживаются в Servercore, можно посмотреть в таблице Версии компонентов OpenStack.
Настроить OpenStack CLI можно:
Версии компонентов OpenStack
Настроить OpenStack CLI средствами ОС
1. Установить 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 для работы с облачными балансировщиками нагрузки:
pip3 install python-octaviaclient
-
Опционально: установите компонент 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 для работы с облачными балансировщиками нагрузки:
pip3 install python-octaviaclient
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
-
Откройте CLI.
-
Установите Python 3 и pip3:
brew install python3
-
Установите OpenStack CLI:
brew install openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки:
pip3 install python-octaviaclient
-
Опционально: установите компонент 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++.
-
Откройте CLI.
-
Установите OpenStack CLI:
pip3 install python-openstackclient
-
Проверьте, что OpenStack CLI установлен:
openstack --version
В ответе появится номер версии.
-
Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки:
pip3 install python-octaviaclient
-
Опционально: установите компонент Glance для работы с образами:
pip3 install python-glanceclient
2. Добавить сервисного пользователя
Для управления ресурсами через OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект. Если после авторизации вам нужно будет управлять ресурсами под другим сервисным пользователем, вы можете изменить данные для авторизации.
-
В панели управления нажмите Аккаунт.
-
Перейдите в раздел Пользователи.
-
Нажмите Добавить пользователя.
-
Выберите тип Сервисный пользователь.
-
Введите имя пользователя. Оно будет использоваться при авторизации.
-
Введите пароль для пользователя или сгенерируйте его.
-
Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.
-
Выберите роль пользователя:
- Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
- Наблюдатель проекта — может просматривать ресурсы проекта.
-
Отметьте проекты, в которые нужно добавить пользователя.
-
Нажмите Добавить пользователя.
3. Скачать RC-файл
Для настройки авторизации нужно скачать RC-файл сервисного пользователя.
-
В панели управления в верхнем меню нажмите Аккаунт.
-
Перейдите в раздел Пользователи → вкладка Сервисные пользователи.
-
Откройте страницу сервисного пользователя, которого вы добавили д ля работы с OpenStack CLI → вкладка Доступ.
-
В блоке RC-файлы:
4.1. Выберите проект.
4.2. Выберите регион.
4.3. Выберите пул.
4.4. Нажмите Скачать.
4. Настроить авторизацию
Авторизацию в OpenStack API можно настроить только для одного аккаунта, сервисного пользователя, проекта и пула. Если после авторизации вам нужно будет управлять ресурсами другого аккаунта, в другом проекте или пуле или под другим сервисным пользователем, вы можете изменить данные для авторизации.
Linux/macOS
Windows
-
Откройте CLI.
-
Перейдите в директорию с RC-файлом, который вы получили при скачивании RC-файла для авторизации на шаге 4.4:
cd <directory_name>
Укажите
<directory_name>
— имя директории с RC-файлом. -
Примените переменные окружения из RC-файла:
source <rcfile_name.sh>
Укажите
<rcfile_name.sh>
— имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчаниюrc.sh
. -
Введите пароль OpenStack — пароль сервисно го пользователя, для которого создан RC-файл.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
-
Откройте CLI.
-
Добавьте переменные окружения:
set OS_AUTH_URL=<url>
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>Укажите:
<account_id>
— номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;<project_id>
— ID проекта. Можно скопировать в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → в строке проекта нажмите ;<project_name>
— имя проекта. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → скопируйте имя проекта;<pool>
— пул, напримерru-2
. Управлять инфраструктурой проекта можно будет только в этом пуле;<user_name>
— имя сервисного пользователя, которого вы добавили для работы в OpenStack CLI на шаге 10;<user_password>
— пароль сервисного пользователя. После создания пользователя посмотреть пароль нельзя — можно только сгенерировать новый. Подробнее в подразделе Изменить пароль сервисного пользователя инструкции Изменить данные и роль пользователя.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Настроить OpenStack CLI в Docker-контейнере
1. Установить Docker
На локальном компьютере установите Docker. Используйте инструкцию Установить Docker в документации Docker.
2. Добавить сервисного пользователя
Для управления ресурсами через OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект. Если после авторизации вам нужно будет управлять ресурсами под другим сервисным пользователем, вы можете изменить данные для авторизации.
-
В панели управления в верхнем меню нажмите Аккаунт.
-
Перейдите в раздел Пользователи
-
Нажмите Добавить пользователя.
-
Выберите тип Сервисный пользователь.
-
Введите имя пользователя. Оно будет использоваться при авторизации.
-
Введите пароль для пользователя или сгенерируйте его.
-
Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.
-
Выберите роль пользователя:
- Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
- Наблюдатель проекта — может просматривать ресурсы проекта.
-
Отметьте проекты, в которые нужно добавить пользователя.
-
Нажмите Добавить пользователя.
3. Скачать RC-файл для авторизации
Авторизацию в OpenStack API можно настроить только для одного аккаунта, сервисного пользователя, проекта и пула. Если после авторизации вам нужно будет управлять ресурсами другого аккаунта, в другом проекте или пуле или под другим сервисным пользователем, вы сможете изменить данные для авторизации.
-
В панели управления нажмите Аккаунт.
-
Перейдите в раздел Пользователи → вкладка Сервисные пользователи.
-
Откройте страницу сервисного пользователя, которого вы добавили для работы с OpenStack CLI → вкладка Доступ.
-
В блоке RC-файлы:
4.1. Выберите проект.
4.2. Выберите регион.
4.3. Выберите пул.
4.4. Нажмите Скачать.
4. Установить OpenStack CLI в Docker-контейнере
-
Откройте CLI.
-
Создайте директорию для работы с Docker:
mkdir <docker_directory>
Укажите
<docker_directory>
— имя директории, в которую будет добавлен RC-файл и создан Dockerfile. -
Переместите RC-файл, который вы получили при скачивании RC-файла для авторизации на шаге 4.4, в директорию:
mv <rcfile_name.sh> <docker_directory>
Укажите:
<rcfile_name.sh>
— имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчаниюrc.sh
;<docker_directory>
— имя директории, в которую будет добавлен RC-файл и создан Dockerfile.
-
Создайте в этой директории пустой Dockerfile:
nano 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/2024.2 \
git+https://github.com/openstack/python-glanceclient.git@stable/2024.2 \
git+https://github.com/openstack/python-octaviaclient.git@stable/2024.2 \
&& apk del build-base linux-headers python3-dev libffi-dev openssl-dev git cargo iputils curl && rm -rf /var/cache
CMD ["sh"] -
Выйдите из текстового редактора
nano
с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter. -
Соберите Docker-контейнер:
docker build -t osc:dalmatian .
-
Запустите Docker-контейнер:
docker run -ti --rm -v $(pwd):/workspace osc:dalmatian
-
Перейдите в директорию
workspace
:cd /workspace
-
Примените переменные окружения из RC-файла:
source <rcfile_name.sh>
Ука жите
<rcfile_name.sh>
— имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4 и переместили в директорию с Dockerfile. По умолчаниюrc.sh
-
Введите пароль OpenStack — пароль сервисного пользователя, для которого вы скачали RC-файл на шаге 4.4.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в RC-файле, созданы о блачные серверы, в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
Запустить OpenStack CLI
Процесс запуска OpenStack CLI зависит от того, как вы настроили авторизацию OpenStack API:
- если вы настраивали авторизацию средствами операционной системы — запустите OpenStack CLI в ОС;
- если вы настраивали авторизацию в Docker-контейнере — запустите OpenStack CLI в Docker-контейнере.
Запустить OpenStack CLI в ОС
Linux/macOS
Windows
-
Откройте CLI.
-
Примените переменные окружения из RC-файла:
source <rcfile_name.sh>
Укажите
<rcfile_name.sh>
— имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчаниюrc.sh
-
Введите пароль OpenStack — пароль сервисного пользователя, для которого вы скачали RC-файл на шаге 4.4.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list
Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.
-
Откройте CLI.
-
Добавьте переменные окружения:
set OS_AUTH_URL=<url>
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>Укажите:
<account_id>
— номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;<project_id>
— ID проекта. Можно скопировать в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → в строке проекта нажмите ;<project_name>
— имя проекта. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → скопируйте имя проекта;<pool>
— пул, напримерru-2
. Управлять инфраструктурой проекта можно будет только в этом пуле;<user_name>
— имя сервисного пользователя, которого вы добавили для работы в OpenStack CLI на шаге 10;<user_password>
— пароль сервисного пользователя. После создания пользователя посмотреть пароль нельзя — можно только сгенерировать новый. Подробнее в подразделе Изменить пароль сервисного пользователя инструкции Изменить данные и роль пользователя.
-
Проверьте работу OpenStack CLI, например, откройте список облачных серверов:
openstack server list