Работа с консольным клиентом selvpc

Вместе с библиотекой python-selvpcclient для работы с Облачной платформой Selectel предоставляется консольное приложение selvpc, основанное на фреймворке python-cliff.

Утилита selvpc позволяет работать с Cloud Config API и управлять проектами, квотами, пользователями для подготовки к работе с ресурсами Облачной платформы. Все дальнейшие действия с виртуальными машинами, дисками, образами и другими ресурсами выполняются через OpenStack API и консольный клиент OpenStack.

Подробнее о различиях функциональности Cloud Config API и OpenStack API в статье о токенах Облачной платформы.

Установка

Для работы с selvpc CLI настройте доступ к проекту из локальной системы:

  1. Создайте API-токен по инструкции Ключи API.
  2. Получите актуальный URL-адрес API вида https://api.selectel.ru/vpc/resell/v2.
  3. Установите переменные окружения:

    export SEL_TOKEN=token
    export SEL_URL=api_url
    export SEL_API_VERSION=api_version

    Пример:

    export SEL_TOKEN=3sDasKl7HetVaKfz7tLOLFDm4_123456
    export SEL_URL=https://api.selectel.ru/vpc/resell
    export SEL_API_VERSION=2
  4. Загрузите библиотеку python-selvpcclient с помощью команды:

    pip install python-selvpcclient

После конфигурации параметров аутентификации можно запускать утилиту selvpc.

Работа с selvpc

Команды selvpc выглядят следующим образом:

selvpc <object> <command> [arguments...]

Полный список команд и аргументов в документации python-selvpcclient на GitHub.

Создание проекта

Для создания проекта используется команда:

selvpc project create --name <project name>

Вывод будет выглядеть следующим образом:

+---------+----------------------------------+
| Field   | Value                            |
+---------+----------------------------------+
| id      | 1a0e275a4e1f408074f4f685e662da7c |
| name    | project                          |
| url     | https://123456.selvpc.ru         |
| enabled | True                             |
+---------+----------------------------------+

Создание пользователя

Для создания пользователя:

selvpc user create --name <username> --password <password>
+---------+----------------------------------+
| Field   | Value                            |
+---------+----------------------------------+
| id      | 00c41ee8561445bc8bb604316d5d096d |
| name    | user                             |
| enabled | True                             |
+---------+----------------------------------+

Добавление пользователя в проект

Для добавления пользователя в проект:

selvpc role create -p <project ID> -u <user ID>

Пример:

selvpc role create -p 1a0e275a4e1f408074f4f685e662da7c -u 00c41ee8561445bc8bb604316d5d096d

+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| project_id | 1a0e275a4e1f408074f4f685e662da7c |
| user_id    | 00c41ee8561445bc8bb604316d5d096d |
+------------+----------------------------------+

SSH-ключ

SSH-ключи используются для подключения к виртуальным машинам по SSH.

В панели управления на вкладке Доступ SSH-ключи добавляются для проекта, а не для пользователя, поэтому они могут не отображаться при использовании утилиты openstack keypair list. В таком случае можно создать пользователя в проекте и добавить ему ключ или использовать для создания ключей консольный клиент selvpc.

Для создания SSH-ключа введите:

selvpc keypair add --name <keypair name> --user <user ID> --key <file>

Для просмотра списка созданных ключей:

selvpc keypair list

Теперь при создании нового облачного сервера с помощью CLI OpenStack можно добавить этот ключ в качестве аргумента --key-name.

Для удаления ключа используйте:

selvpc keypair delete <keypair name> ... --user <user ID> --yes-i-really-want-to-delete