Перейти к основному содержимому

Руководство

Создание и доступ к VM

Этот workflow покрывает стандартный путь провижининга: создать проект, определить способ передачи SSH-доступа, отправить запрос на создание VM и затем получить сам VM-ресурс для последующих операций.

Создайте проект

Проекты являются родительским scope для VM и большинства ресурсов, которые вы используете дальше.

curl --request POST \
  --url 'https://client-api.dc.dev.k8s.zenno.services/projects' \
  --header 'X-API-Key: <api-key>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
"name": "automation-project"
}'

Подготовьте параметры доступа

  • Используйте sshPublicKeys, если клиент уже хранит raw OpenSSH public keys.

  • Используйте sshKeyIds, если хотите переиспользовать project-level SSH keys.

  • Заранее определите, должна ли VM получить публичный IP при создании через publicIpMode.

Создайте VM

Пример ниже использует существующие project SSH keys, запрашивает новый public IP и подключает одну приватную сеть. Подстройте payload под свои входные данные.

curl --request POST \
  --url 'https://client-api.dc.dev.k8s.zenno.services/projects/{projectId}/vms' \
  --header 'X-API-Key: <api-key>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
"tariffId": "00000000-0000-0000-0000-000000000000",
"imageId": "00000000-0000-0000-0000-000000000000",
"vmName": "worker-01",
"sshKeyIds": [
  "00000000-0000-0000-0000-000000000000"
],
"publicIpMode": "New",
"privateNetworkIds": [
  "00000000-0000-0000-0000-000000000000"
]
}'
  1. 1

    Получите идентификаторы образа и тарифа

    Запросите каталоги images и tariffs до формирования payload, чтобы использовать актуальные идентификаторы.

  2. 2

    Создайте проект и сохраните его идентификатор

    Один и тот же projectId потребуется для VM, SSH keys, сетей и backup calls.

  3. 3

    Создайте или выберите входные данные SSH-доступа

    Либо создайте project SSH keys заранее, либо передайте raw public keys прямо в запросе создания VM.

  4. 4

    Отправьте запрос на создание VM

    Ожидайте command-oriented response. После принятия запроса нужно отдельно получить VM-ресурс для проверки operation state и сетевых привязок.

  5. 5

    Получите детали VM

    Запросите VM-ресурс, чтобы подтвердить идентификаторы, размеры, интерфейсы и дальнейшие действия.

Ожидаемый результат

В результате вы получаете созданный VM-ресурс, его идентификатор и понятную конфигурацию начального доступа и сетевых параметров, которые были указаны в запросе.

Замечание по реализации

Ответ на создание может содержать commandId и optional password. Для проверки итогового состояния ориентируйтесь на VM-ресурс, а не только на initial response.

Связанные endpoint