Использование интерфейса командной строки

Использование интерфейса командной строки#

Для управления продуктом Кибер Инфраструктура из консоли и автоматизации подобных задач можно использовать инструмент командной строки vinfra. Чтобы посмотреть список всех поддерживаемых команд и их описания, запустите vinfra help. Чтобы получить справку по конкретной команде, выполните команду vinfra <command> help или vinfra <command> --help.

Обратите внимание, что следующие операции нельзя выполнять из командной строки:

  • Настройка пользовательских путей для служб продукта Кибер Инфраструктура, в частности:

    • Создание кластеров S3 только в /mnt/vstorage/vols/s3

    • Создание целей iSCSI только в /mnt/vstorage/vols/iscsi

  • Монтирование кластеров или изменение параметров монтирования кластера

  • Настройка системы безопасности с помощью firewall-cmd

  • Переименование сетевых подключений

  • Управление службами метаданных и хранения

  • Управление разделами, LVM или программным RAID

  • Изменение файлов в каталогах /mnt/vstorage/vols и /mnt/vstorage/webcp/backup

  • Настройка кодирования или репликации корня кластера

Предоставление учетных данных для vinfra

Инструмент vinfra требует следующей информации:

  • IP-адрес или имя хоста узла управления (по умолчанию установлено backend-api.svc.vstoragedomain)

  • Имя пользователя (по умолчанию admin)

  • Пароль (указывается при установке продукта Кибер Инфраструктура)

  • Доменное имя для аутентификации (по умолчанию Default)

  • Идентификатор проекта для аутентификации (по умолчанию admin)

Данная информация может быть предоставлена с помощью следующих параметров командной строки с каждой командой:

  • --vinfra-portal <portal>

  • --vinfra-username <username>

  • --vinfra-password <password>

  • --vinfra-domain <domain>

  • --vinfra-project <project>

Также вы можете указать собственные учетные данные, установив следующие переменные среды (например, в вашем ~/.bash_profile): VINFRA_PORTAL, VINFRA_USERNAME, VINFRA_PASSWORD, VINFRA_DOMAIN и VINFRA_PROJECT. В этом случае вы сможете запустить этот инструмент без вышеупомянутых параметров командной строки.

Поскольку vinfra обычно запускается с узла управления от имени администратора, единственная переменная, которую нужно установить, — это пароль. Например:

# export VINFRA_PASSWORD=12345

Если вы установили vinfra на удаленную машину и/или запустили ее от имени другого системного администратора, вам нужно будет установить VINFRA_PORTAL и/или VINFRA_USERNAME на этой машине в дополнение к VINFRA_PASSWORD.

Кроме того, если вы хотите аутентифицироваться в другом проекте и/или домене, вам нужно будет установить еще две переменные среды: VINFRA_PROJECT и/или VINFRA_DOMAIN.

Управление заданиями vinfra

Программа командной строки vinfra выполняет некоторые команды сразу, а для других команд (выполнение которых может занять некоторое время) создает системные задания, которые ставятся в очередь. Примеры действий, выполняемых посредством заданий: создание кластера хранилища или вычислительного кластера и добавление в него серверов.

Для отслеживания заданий, выполняемых программой vinfra, используйте команды vinfra task list и vinfra task show. Например:

# vinfra task list
+----------------+---------+-----------------------------------------------+
| task_id        | state   | name                                          |
+----------------+---------+-----------------------------------------------+
| 8fc27e7a-<...> | success | backend.tasks.cluster.CreateNewCluster  |
| e61377db-<...> | success | backend.tasks.disks.ApplyDiskRoleTask   |
| a005b748-<...> | success | backend.tasks.node.AddNodeInClusterTask |
+----------------+---------+-----------------------------------------------+
# vinfra task show 8fc27e7a-ba73-471d-9134-e351e1137cf4
+---------+----------------------------------------+
| Field   | Value                                  |
+---------+----------------------------------------+
| args    | - stor1                                |
|         | - 7ffa9540-5a20-41d1-b203-e3f349d62565 |
|         | - null                                 |
|         | - null                                 |
| kwargs  | {}                                     |
| name    | backend.tasks.cluster.CreateNewCluster |
| result  | cluster_id: 1                          |
| state   | success                                |
| task_id | 8fc27e7a-ba73-471d-9134-e351e1137cf4   |
+---------+----------------------------------------+

Что дальше