14.09.2022

Как автоматизировать развертывание VM с помощью CLI

CLI

s2ctl – это Serverspace в командной строке. CLI даёт возможность контролировать вашу инфраструктуру в терминале, так же как через панель управления. Инструмент можно получить на нашем Github.

Установка

s2ctl доступен для Linux и Windows как отдельный бинарный файл. Скачайте архив с Github и распакуйте его.

Установка на Linux

  1. Загрузите архив из репозитория GitHub:
    wget https://github.com/itglobalcom/s2ctl/releases/download/vX.X.X/s2ctl-vX.X.X-linux.tar.gz

    Здесь X.X.X это номер последней версии утилиты.

  2. Разархивируйте загруженный архив:
    tar -xzf s2ctl-vX.X.X-linux.tar.gz
  3. Перейдите в созданную директорию и запустите утилиту s2ctl:
    cd s2ctl-vX.X.X-linux
    ./s2ctl --help
  4. (Опционально) Вы также можете добавить каталог, в который вы поместили исполняемый файл s2ctl, в переменную среды $PATH, чтобы получить доступ к утилите из любой точки операционной системы. Чтобы увидеть, что находится в переменной $PATH прямо сейчас, введите команду:
    echo $PATH

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

    export PATH=$PATH:"<download directory>"

    Переменная $PATH устанавливается оболочкой при каждом ее запуске, но вы можете сделать, так чтобы она всегда включала путь до утилиты в каждой новой оболочке, которую вы открываете. Точный способ зависит от того, какую оболочку вы используете.
    Например, для bash нужно добавить строку о соответствующем файле следующим образом:

    echo 'export PATH=$PATH:"<download directory>"' >> .bashrc

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

    source ~/.bashrc

Установка на Windows

  1. Загрузите файл s2ctl-vX.X.X-windows.zip с Github и разархивируйте его.
  2. Запустите командную строку:
    1. Нажмите Win+R или Start → Поиск → Введите run → OK
    2. Введите команду cmd → OK
  3. По умолчанию в командной строке отображается домашняя директория текущего пользователя. Перейдите в директорию с извлечённым файлом:
    cd <директория с извлечённым файлом>
  4. Перейдя в нужную директорию, запустите команду:
    s2ctl --help
  5. (Опционально) Вы также можете добавить каталог, в который вы поместили бинарный файл s2ctl, в переменную среды PATH, чтобы получить доступ к утилите из любой точки операционной системы.
      1. В поиске откройте и выберите: System (Control Panel).
      2. Нажмите ссылку Advanced system settings.
      3. Нажмите Environment Variables. В разделе System Variables Найдите переменную PATH и выберите её. Кликните Edit. Если переменная PATH не существует, то нажмите New.
      4. В окне Edit System Variable (или New System Variable), укажите значение переменной окружения PATH. Нажмите OK. Закройте все оставшиеся окна, нажав OK.

     

Авторизация

Для работы с CLI необходимо создать API-ключ для проекта и создать контекст или передавать API-ключ при каждом запросе.

Создание контекста

Использование контекстов упрощает использование утилиты s2ctl, т.к. не приходится для каждой команды в явном виде указывать API-ключ.

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

s2ctl context create -k <api-ключ> -n <имя>

Например:

s2ctl context create -k lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r -n example

Передача ключа

Для передачи API-ключа в явном виде, его необходимо указывать в конце команды с помощью опции --apikey:

s2ctl <команда> --apikey <api-ключ>

Например:

s2ctl images --apikey lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r

Примеры использования

Получим информацию о проекте с помощью следующей команды:

s2ctl project show

В результате будет возвращена информация о проекте:

id: '1'
balance: '400.24'
currency: EUR
state: Active
created: '2019-04-08T10:35:53.7021047Z'

Создадим сервер:

s2ctl server create --name test-cli --location nj3 --image Ubuntu-20.04-X64 --cpu 2 --ram 2048M --volume boot:30720M --volume volume:10240M --public-network 50 --public-network 60

В результате возвращается ID задачи, по которой можно отследить процесс создания сервера:

task_id: lt1512053