Перейти к содержанию

Операции с виртуальными машинами

Примечание

Действия выполняются пользователем с ролью Администратор ВЦОД или Разработчик ВМ

Пользовательский ресурс — виртуальная машина, создаваемая на виртуальном кластере.

Создать ВМ

Создание ВМ возможно двумя способами: с помощью YAML-файлов или через командную строку. Первый вариант предпочтительнее, так как он минимизирует вероятность ошибок.


Создать ВМ с помощью YAML-файла

  1. Создайте файл формата YAML.
  2. Опишите в файле все необходимые параметры и правила для создания ВМ.
    Подробная информация описана в статье Правила размещения виртуальных машин.

  3. При необходимости укажите IP-адрес из пула доступных адресов:

    1. Чтобы просмотреть доступные адреса, введите команду

      ipam addr free list --vnet_name <vnet_name> 
                          [--full_output]
      

      где

      • --vnet_name — имя сети;
      • --full_output — отобразить весь список адресов. Без указания --full_output по умолчанию отобразятся только три доступных адреса.
    2. Чтобы просмотреть занятые адреса, введите

      ipam addr allocated list --vnet_name <vnet_name>
      

    3. Добавьте в YAML

      networks: ["vnet_name"]
      ip_addresses:
        - "vnet_name": "ip_addr_from_free_list"
      

  4. При необходимости ограничьте трафик для сетевых интерфейсов

    Пример для ВМ с одним сетевым интерфейсом
    networks: ["net1"]
    inbounds:  ["limit_for_vnet_name"]
    outbounds: ["limit_for_vnet_name"]
    

    Пример для ВМ с двумя сетевыми интерфейсами
    networks: ["net1", "net2"]
    inbounds:  ["-", "500"]
    outbounds: ["500", "-"]
    

    Для ВМ с двумя сетевыми интерфейсами ограничения указываются в том же порядке, что и интерфейсы в networks, значение "-" означает отсутствие ограничения на сетевой интерфейс.

  5. Сохраните файл.

  6. Загрузите файл на Платформу.

    Чтобы загрузить файлы в Sharx Base, введите команду

    resource --spec <path_to_yaml_file>
    
    где spec — расположение YAML-файла.

    При локальном расположении на АРМ пользователя введите путь до файла.

    При расположении в стороннем репозитории укажите ссылку на данный файл.

  7. После загрузки проверьте список всех созданных ВМ

    scheduler request list --vcluster <VCLUSTER>
    

Пример

Примеры файлов создания ВМ:

  • для хранилища Libvirt с nodeSelector, указанием IP-адреса и ограничением на единственный сетевой интерфейс scheduler_request_libvirt.yaml.
  • для хранилища РСХД с nodeSelector, указанием IP-адресов и ограничением только на второй сетевой интерфейс scheduler_request_sp.yaml.

Создать ВМ через командную строку

Чтобы создать ВМ через командную строку, введите

scheduler request add --vcluster <VCLUSTER>
                      [--kind <KIND>]
                      --name <NAME>
                      [--descr <DESCR>]
                      [--labels <LABELS>]
                      --data <DATA>

где

  • vcluster — имя виртуального кластера;
  • kind — тип запроса. По умолчанию vm;
  • name — имя ВМ;
  • descr — описание виртуальной машины;
  • labels — метки ВМ;
  • data — определение спецификаций.

Просмотреть ВМ

  1. Просмотреть список всех созданных ВМ

    scheduler request list --vcluster <VCLUSTER>
    

    где vcluster — имя виртуального кластера.

  2. Просмотреть информацию о конкретной ВМ

    scheduler request show --vcluster <VCLUSTER>
                          [--kind <KIND>]
                           --name <NAME>
                          [--show_uuid <SHOW_UUID>]
                          [--metrics <METRICS>]
    

    где

    • vcluster — имя виртуального кластера;
    • kind — тип запроса. По умолчанию vm;
    • name — имя ВМ;
    • show_uuid — показать идентификатор объекта;
    • metrics — получить метрики ВМ. Возможные значения:
      • yes — включить получение метрик,
      • no — отключить получение метрик.
  3. Просмотреть статус ВМ

    scheduler request status --vcluster <VCLUSTER>
                            [--kind <KIND>]
                            [--name <NAME>]
    

    где

    • vcluster — имя виртуального кластера;
    • kind — тип запроса. По умолчанию vm;
    • name — имя ВМ.

Обновить ВМ

scheduler request update --vcluster <VCLUSTER>
                        [--kind <KIND>]
                        --name <NAME>
                        [--descr <DESCR>]
                        [--labels <LABELS>]
                        --data <DATA>

где

  • vcluster — имя виртуального кластера;
  • kind — тип запроса. По умолчанию vm;
  • name — имя ВМ;
  • descr — описание виртуальной машины;
  • labels — метки ВМ;
  • data — спецификация.

Изменить статус ВМ

scheduler request state --vcluster <VCLUSTER>
                        [--kind <KIND>]
                        --name <NAME>
                        --state <STATE>

где

  • vcluster — имя виртуального кластера;
  • kind — тип запроса. По умолчанию vm;
  • name — имя ВМ, у которой изменяется статус;
  • state — статус ВМ. Возможные значения:

    • START — запуск ВМ,
    • STOP — остановка ВМ,
    • RECREATE — восстановление ВМ.

Удалить ВМ

Чтобы удалить ВМ, введите

scheduler request del --vcluster <VCLUSTER> 
                      [--kind <KIND>]
                      --name <NAME>
                      [--backup <BACKUP>]

где

  • vcluster — имя виртуального кластера;
  • kind — тип запроса. По умолчанию vm;
  • name — имя ВМ;
  • backup — создать снимок удаляемой ВМ. Снимок удалится через 1 день. Возможные значения backupyes, no.

Термины и определения содержатся в статьях: