Перейти к основному содержимому
OpenStack CLI
Последнее изменение:

OpenStack CLI

OpenStack CLI — это консольный клиент для работы с OpenStack API, который устанавливается на локальный компьютер. Через OpenStack CLI в Selectel можно управлять облачной инфраструктурой: серверами, группами размещения, сетевыми дисками, сетями, образами, балансировщиками нагрузки.

Актуальные версии компонентов, которые поддерживаются в Selectel, можно посмотреть в таблице Версии компонентов OpenStack.

Настроить OpenStack CLI можно:

Версии компонентов OpenStack

Версия релизаВерсия API
KeystoneZed3.14
PlacementZed1.0 (максимальная микроверсия — 1.39)
NovaZed2.1 (максимальная микроверсия — 2.93)
NeutronUssuri2.0
CinderWallaby3.0 (максимальная микроверсия — 3.64)
GlanceZed2.16
KarborWallaby1.0
ManilaZed2.0 (максимальная микроверсия — 2.75)
HeatZed1.0
Octavia2023.12.26
Gnocchi4.51.0

Настроить OpenStack CLI средствами ОС

  1. Установите OpenStack CLI.

  2. Добавьте сервисного пользователя для авторизации в OpenStack API.

  3. Скачайте RC-файл для авторизации в OpenStack API.

  4. Настройте авторизацию в OpenStack API.

1. Установить OpenStack CLI

  1. Откройте CLI.

  2. Установите Python 3:

    sudo apt update
    sudo apt install python3
  3. Установите pip3:

    sudo apt install python3-pip
  4. Установите OpenStack CLI:

    pip3 install python-openstackclient
  5. Проверьте, что OpenStack CLI установлен:

    openstack --version

    В ответе появится номер версии.

  6. Опционально: установите компонент Octavia для работы с облачными балансировщиками нагрузки:

    pip3 install python-octaviaclient
  7. Опционально: установите компонент Glance для работы с образами:

    pip3 install python-glanceclient

2. Добавить сервисного пользователя

Для управления ресурсами через OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект. Если после авторизации вам нужно будет управлять ресурсами под другим сервисным пользователем, вы можете изменить данные для авторизации.

  1. В панели управления нажмите Аккаунт.

  2. Перейдите в раздел Пользователи.

  3. Нажмите Добавить пользователя.

  4. Выберите тип Сервисный пользователь.

  5. Введите имя пользователя. Оно будет использоваться при авторизации.

  6. Введите пароль для пользователя или сгенерируйте его.

  7. Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.

  8. Выберите роль пользователя:

    • Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
    • Наблюдатель проекта — может просматривать ресурсы проекта.
  9. Отметьте проекты, в которые нужно добавить пользователя.

  10. Нажмите Добавить пользователя.

3. Скачать RC-файл

Для настройки авторизации нужно скачать RC-файл сервисного пользователя.

  1. В панели управления в верхнем меню нажмите Аккаунт.

  2. Перейдите в раздел Пользователи → вкладка Сервисные пользователи.

  3. Откройте страницу сервисного пользователя, которого вы добавили для работы с OpenStack CLI → вкладка Доступ.

  4. В блоке RC-файлы:

    4.1. Выберите проект.

    4.2. Выберите регион.

    4.3. Выберите пул.

    4.4. Нажмите Скачать.

4. Настроить авторизацию

к сведению

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

  1. Откройте CLI.

  2. Перейдите в директорию с RC-файлом, который вы получили при скачивании RC-файла для авторизации на шаге 4.4:

    cd <directory_name>

    Укажите <directory_name> — имя директории с RC-файлом.

  3. Запустите скрипт из RC-файла:

    source <rcfile_name.sh>

    Укажите <rcfile_name.sh> — имя RC-файла, по умолчанию rc.sh.

  4. Введите пароль OpenStack — пароль сервисного пользователя, для которого создан RC-файл.

  5. Проверьте работу OpenStack CLI, например, откройте список облачных серверов:

    openstack server list

    Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.

Настроить OpenStack CLI в Docker-контейнере

  1. Установите Docker.

  2. Добавьте сервисного пользователя для управления ресурсами через OpenStack API.

  3. Скачайте RC-файл для авторизации в OpenStack API.

  4. Установите OpenStack CLI в Docker-контейнере.

1. Установить Docker

На локальном компьютере установите Docker. Используйте инструкцию Установить Docker в документации Docker.

2. Добавить сервисного пользователя

Для управления ресурсами через OpenStack API нужно создать сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта и добавить его в проект. Если после авторизации вам нужно будет управлять ресурсами под другим сервисным пользователем, вы можете изменить данные для авторизации.

  1. В панели управления в верхнем меню нажмите Аккаунт.

  2. Перейдите в раздел Пользователи

  3. Нажмите Добавить пользователя.

  4. Выберите тип Сервисный пользователь.

  5. Введите имя пользователя. Оно будет использоваться при авторизации.

  6. Введите пароль для пользователя или сгенерируйте его.

  7. Сохраните пароль — после создания пользователя посмотреть пароль нельзя, только изменить.

  8. Выберите роль пользователя:

    • Администратор проекта — может создавать, редактировать и удалять ресурсы проекта;
    • Наблюдатель проекта — может просматривать ресурсы проекта.
  9. Отметьте проекты, в которые нужно добавить пользователя.

  10. Нажмите Добавить пользователя.

3. Скачать RC-файл для авторизации

к сведению

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

  1. В панели управления нажмите Аккаунт.

  2. Перейдите в раздел Пользователи → вкладка Сервисные пользователи.

  3. Откройте страницу сервисного пользователя, которого вы добавили для работы с OpenStack CLI → вкладка Доступ.

  4. В блоке RC-файлы:

    4.1. Выберите проект.

    4.2. Выберите регион.

    4.3. Выберите пул.

    4.4. Нажмите Скачать.

4. Установить OpenStack CLI в Docker-контейнере

  1. Откройте CLI.

  2. Создайте директорию для работы с Docker:

    mkdir <docker_directory>

    Укажите <docker_directory> — имя директории, в которую будет добавлен RC-файл и создан Dockerfile.

  3. Переместите RC-файл, который вы получили при скачивании RC-файла для авторизации на шаге 4.4, в директорию:

    mv <rcfile_name.sh> <docker_directory>

    Укажите:

    • <rcfile_name.sh> — имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчанию rc.sh;
    • <docker_directory> — имя директории, в которую будет добавлен RC-файл и создан Dockerfile.
  4. Создайте в этой директории пустой Dockerfile:

    nano Dockerfile
  5. Добавьте в 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"]
  6. Выйдете из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.

  7. Соберите Docker-контейнер:

    docker build -t osc:dalmatian .
  8. Запустите Docker-контейнер:

    docker run -ti --rm -v $(pwd):/workspace osc:dalmatian
  9. Перейдите в директорию workspace:

    cd /workspace
  10. Запустите скрипт из RC-файла:

    source <rcfile_name.sh>

    Укажите <rcfile_name.sh> — имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4 и переместили в директорию с Dockerfile. По умолчанию rc.sh

  11. Проверьте работу OpenStack CLI, например, откройте список облачных серверов:

    openstack server list

    Если в пуле и проекте, которые указаны в RC-файле, созданы облачные серверы, в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.

Изменить данные для авторизации

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

Процесс изменения данных зависит от того, как вы настроили авторизацию OpenStack API:

Изменить данные авторизации в ОС

  1. Откройте CLI.

  2. Откройте RC-файл в текстовом редакторе nano:

    nano /<directory_name>/<rcfile_name.sh>

    Укажите:

  3. Измените данные в файле:

    export OS_PROJECT_DOMAIN_NAME='<account_id>'
    export OS_PROJECT_ID='<project_id>'
    export OS_TENANT_ID='<project_id>'
    export OS_REGION_NAME='<pool>'

    export OS_USER_DOMAIN_NAME='<account_id>'
    export OS_USERNAME='<user_name>'

    Укажите:

    • <account_id> — номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;
    • <project_id> — ID проекта. Можно скопировать в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите ;
    • <pool> — пул, например ru-2;
    • <user_name> — имя сервисного пользователя, которого вы добавили для управления ресурсами через OpenStack CLI. Можно посмотреть в панели управления: в верхнем меню нажмите АккаунтПользователи → вкладка Сервисные пользователи.
  4. Выйдете из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.

  5. Запустите скрипт из RC-файла:

    source <rcfile_name.sh>

    Укажите <rcfile_name.sh> — имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчанию rc.sh

  6. Введите пароль OpenStack — пароль сервисного пользователя, для которого вы скачали RC-файл на шаге 4.4.

  7. Проверьте работу OpenStack CLI, например, откройте список облачных серверов:

    openstack server list

    Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.

Изменить данные авторизации в Docker-контейнере

  1. Откройте CLI.

  2. Откройте RC-файл в текстовом редакторе nano:

    nano /<docker_directory>/<rcfile_name.sh>

    Укажите:

  3. Измените данные в файле:

    export OS_PROJECT_DOMAIN_NAME='<account_id>'
    export OS_PROJECT_ID='<project_id>'
    export OS_TENANT_ID='<project_id>'
    export OS_REGION_NAME='<pool>'

    export OS_USER_DOMAIN_NAME='<account_id>'
    export OS_USERNAME='<user_name>'

    Укажите:

    • <account_id> — номер аккаунта панели управления. Можно посмотреть в панели управления в правом верхнем углу;
    • <project_id> — ID проекта. Можно скопировать в панели управления: в верхнем меню нажмите Продукты и выберите Облачные серверы → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите ;
    • <pool> — пул, например ru-2;
    • <user_name> — имя сервисного пользователя, которого вы добавили для управления ресурсами через OpenStack CLI. Можно посмотреть в панели управления: в верхнем меню нажмите АккаунтПользователи → вкладка Сервисные пользователи.
  4. Выйдете из текстового редактора nano с сохранием изменений: нажмите Ctrl+Х, а затем Y+Enter.

  5. Запустите Docker-контейнер:

    docker run -ti --rm -v $(pwd):/workspace osc:dalmatian
  6. Запустите скрипт из RC-файла:

    source <rcfile_name.sh>

    Укажите <rcfile_name.sh> — имя RC-файла, который вы получили при скачивании RC-файла для авторизации на шаге 4.4. По умолчанию rc.sh.

  7. Введите пароль OpenStack — пароль сервисного пользователя, для которого создан RC-файл.

  8. Проверьте работу OpenStack CLI, например, откройте список облачных серверов:

    openstack server list

    Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.