Как стать автором
Обновить
50.73
HOSTKEY
IT-инфраструктура: сервера, VPS, GPU, коло

В HOSTKEY автоматизировали настройку и передачу клиентам выделенных серверов

Время на прочтение5 мин
Количество просмотров1.1K

Заказ выделенных серверов доступен из панели управления и через API

Специалисты HOSTKEY автоматизировали настройку и передачу клиентам выделенных серверов (включая машины с профессиональными GPU) на всех наших площадках в Москве, Амстердаме и Нью-Йорке. Для формирования заказа достаточно авторизоваться в личном кабинете и перейти во вкладку Stock Servers.

В списке показаны все доступные конфигурации VDS, отсортированные для удобства пользователей по ценам/производительности с возможностью фильтрации по типу. Выделенные серверы с современным IPMI обычно сдаются в течение 15 минут после заказа, а серверы без управления или с нестандартным управлением — в течение ближайшего рабочего дня, поскольку установку ОС на них нужно инициировать вручную или им требуется ручная преднастройка.

Список серверов может быть также запрошен через вызов API: curl -s https://invapi.hostkey.com/stocks.php?action=list&location=NL&group=ALL

Вывод будет примерно таким:

{
	"result": "OK",
	"action": "list",
	"servers": [{
		"id": 17324,
		"name": "17324",
		"status": "sale",
		"hardware": "Xeon E5-1650 3.2GHz (6 cores)\/16Gb\/500Gb HDD\/IPMI",
		"location": "NL",
		"type": "Server",
		"cpu_count": "1",
		"gpu": 0,
		"price_EUR": 45,
		"price_RUR": 4621,
		"ipmi": 1,
		"cpu_perf": 8152,
		"cpu_perflink": "http:\/\/www.cpubenchmark.net\/cpu_lookup.php?cpu=Intel+Xeon+E5-1650+%40+3.20GHz&id=1211",
		"tags": "ipmi": {
				"tag": "ipmi",
				"value": "supermicro",
				"extra": "",
				"component": "hardware"
			}
		},
		"billing_plan": {
			"EUR": {
				"1": 45,
				"3": 131,
				"6": 254,
				"12": 476
			},
			"RUB": {
				"1": 4621,
				"3": 13448,
				"6": 26063,
				"12": 48798
			}
		}
	}]
} 

При заказе из панели управления можно выбрать платежный период: при оплате за 3 месяца клиент получит скидку в 3%, при оплате за 6 месяцев — в 6%, за 12 месяцев — 12%.

Для получения информации и заказа сервера через API необходимо авторизоваться и сделать несколько запросов (например, с помощью curl):

  1. Запросить данные по конкретному серверу: curl -s "https://invapi.hostkey.com/stocks.php?action=show&id=17324

  2. Получить список совместимых ОС: curl -s "https://invapi.hostkey.com/os.php?action=list&id=17324

    Пример вывода:

{
	"result": "OK",
	"action": "list",
	"os_list": [{
				"id": 184,
				"name": "AlmaLinux 8",
				"api_enabled": 0,
				"type_login": 1,
				"pxe_os_id": null,
				"active": 1,
				"description": " ",
				}, {
				"id": 112,
				"name": "CentOS 7",
				"api_enabled": 0,
				"type_login": 4,
				"pxe_os_id": 226,
				"active": 1,
				"description": "null",
        }]
}             
  1.  Получить список доступных тарифных планов: curl -s "https://invapi.hostkey.com/traffic_plans.php?action=list&id=17324

    Пример вывода:

{
	"result": "OK",
	"action": "list",
	"traffic_plans": [{
		"id": 12,
		"name": "50Tb free (1Gbps)",
		"limit_in": 999,
		"limit_out": 50,
		"rate_in": 0,
		"rate_out": 2,
		"bandwidth": 1000,
		"locations": "NL,US,",
		"currency_id": 0,
		"active": 1,
		"web_plan": 0,
		"price": 0,
		"tags": [{
			"id": 12383,
			"component_id": 12,
			"tag": "gpu",
			"value": "true",
			"extra": "",
			"internal": 0
		}, {
			"id": 80669,
			"component_id": 12,
			"tag": "bm",
			"value": "true",
			"extra": "",
			"internal": 1
		}]
	}, {
		"id": 33,
		"name": "50Tb (1Gbps port) NL",
		"limit_in": 999,
		"limit_out": 50,
		"rate_in": 0,
		"rate_out": 180,
		"bandwidth": 1000,
		"locations": "NL,",
		"currency_id": 1,
		"active": 1,
		"web_plan": 0,
		"price": 0,
		"tags": [{
			"id": 12382,
			"component_id": 33,
			"tag": "gpu",
			"value": "true",
			"extra": "",
			"internal": 0
		}, {
			"id": 11474,
			"component_id": 33,
			"tag": "bm",
			"value": "true",
			"extra": "",
			"internal": 1
		}]
	}, {
		"id": 14,
		"name": "1Gbps unmetered",
		"limit_in": 999,
		"limit_out": 999,
		"rate_in": 0,
		"rate_out": 0,
		"bandwidth": 1000,
		"locations": "NL,",
		"currency_id": 0,
		"active": 1,
		"web_plan": 0,
		"price": 140,
		"tags": [{
			"id": 11450,
			"component_id": 14,
			"tag": "bm",
			"value": "true",
			"extra": "",
			"internal": 1
		}, {
			"id": 11451,
			"component_id": 14,
			"tag": "unmetered",
			"value": "true",
			"extra": "",
			"internal": 1
		}, {
			"id": 11462,
			"component_id": 14,
			"tag": "gpu",
			"value": "true",
			"extra": "",
			"internal": 1
		}],
		"billing_plan": {
			"EUR": {
				"1": 140,
				"3": 420,
				"6": 840,
				"12": 1680
			}
		}
	}, {
		"id": 35,
		"name": "1Gbps unlimited NL",
		"limit_in": 999,
		"limit_out": 999,
		"rate_in": 0,
		"rate_out": 2,
		"bandwidth": 1000,
		"locations": "NL,",
		"currency_id": 1,
		"active": 1,
		"web_plan": 0,
		"price": 12600,
		"tags": [{
			"id": 11468,
			"component_id": 35,
			"tag": "bm",
			"value": "true",
			"extra": "",
			"internal": 1
		}, {
			"id": 11469,
			"component_id": 35,
			"tag": "unmetered",
			"value": "true",
			"extra": "",
			"internal": 1
		}, {
			"id": 11470,
			"component_id": 35,
			"tag": "gpu",
			"value": "true",
			"extra": "",
			"internal": 1
		}],
		"billing_plan": {
			"RUB": {
				"1": 12600,
				"3": 37800,
				"6": 75600,
				"12": 151200
			}
		}
	}]
}
  1. Получить список задач, доступных после установки ОС: curl -s curl "https://invapi.hostkey.com/jenkins.php?action=get_tasks"

    Пример вывода:

{
  "result": "OK",
  "tasks": [
    {
      "id": -1,
      "task": "",
      "desc": "Do nothing",
      "tag": "",
      "tags": [
        {
          "tag": "gpu"
        },
        {
          "tag": "vgpu"
        },
        {
          "tag": "vm"
        },
        {
          "tag": "bm"
        }
      ]
    },
    {
      "id": 1,
      "task": "invapi_gpu_conf_iommu_patch_gpu_linux_auto.dsl",
      "desc": "Install GPU drivers",
      "tag": "gpu_driver",
      "tags": [
        {
          "tag": "gpu"
        },
        {
          "tag": "vgpu"
        },
        {
          "tag": "default"
        }
      ]
    },
    …
}
  1. Сформировать заказ:

curl -s 'https://invapi.hostkey.com/eq.php' -X POST \
    -H 'Accept: application/json' \
    --data 'token=”сессионный_токен”' \
    --data 'action=order_instance' \
    --data 'pin=ваш_секретный_пинкод' \
    --data 'id=17324' \ - номер выбранного сервера
    --data 'deploy_period=monthly' \ - платежный период
    --data 'disk_mirror=LVM_HBA' \ - тип разбивки дисков
    --data 'os_id=184' \ - номер нужной ОС из списка выше
    --data 'hostname=' \ - имя хоста
    --data 'root_pass=9DZbK1p4_A' \ - пароль суперпользователя
    --data 'traffic_plan=12' \ - выбранный тарифный план
    --data 'ssh_key=' \ - публичный ключ для суперпользователя
    --data 'post_install_script=' \ - скрипт который надо запустить на сервере при его первом запуске 
    --data 'post_install_callback=' \ - URL который ОС загрузит при первом запуске
    --data ‘deploy_comment = ‘\ - комментарий для дежурных, если сервер не предусматривает автоматической установки

Ответ будет содержать подтверждение ID заказанного сервера, его статус и ключ для отслеживания прогресса установки через eq_calback. Наша панель управления проверит цены, добавит нужные скидки и запустит установку сервера при наличии кредита на лицевом счете клиента.

{
  "result": "OK",
  "action": "order_instance",
  "callback": "2e43ea2bf9e10b961770d1ce69b226f6",
  "deploy_status": "install",
  "id": 17324
}

Проверить статус выполнения заказа можно с помощью следующего запроса: https://invapi.hostkey.com/eq_callback.php?key=2e43ea2bf9e10b961770d1ce69b226f6 (ключ для проверки через eq_calback выдается на этапе формирования заказа).

Пока идет установка, ответ будет следующим: {"result":"Not ready","key":"2e43ea2bf9e10b961770d1ce69b226f6"}.

Также клиент может получить иные статусы: {"result":"Stage", “message”:”(1/1: OS Installation started”, "key":"2e43ea2bf9e10b961770d1ce69b226f6"}.

В итоге придет финальный ответ  {"result":"OK", “message”:”Deploy completed”, "key":"2e43ea2bf9e10b961770d1ce69b226f6"} и с этого момента сервером можно пользоваться.

Система создаст необходимые записи в биллинге, спишет средства с лицевого счета клиента и вышлет электронное письмо с данными для удаленного доступа к серверу.

***

Компания HOSTKEY приглашает к сотрудничеству реселлеров и партнеров: мы предоставляем им доступные сразу при интеграции через API скидки до 20% на выделенные и виртуальные серверы. Для помощи партнерам с интеграцией есть специальный инженер, готовый оперативно ответить на все возникающие вопросы. Подробности партнерской программы смотрите на нашем сайте

Теги:
Хабы:
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

Другие новости

Информация

Сайт
www.hostkey.ru
Дата регистрации
Дата основания
Численность
31–50 человек
Местоположение
Россия