Поиск по сайту:

Как подготовить дроплет Digitalocean с помощью Powershell 7


Установка ядра PowerShell

Создайте ключи API от DigitalOcean

  1. Войдите в панель управления DigitalOcean.

  1. Перейдите в раздел API.

  1. Нажмите «Создать новый токен».

  1. Введите имя токена и разрешите ему права чтения и записи.

  1. Скопируйте ключ API, так как он больше не будет отображаться. Затем мы будем использовать это для Terraform.

REST-API DigitalOcean

  • Авторизация: носитель digitaloceanapitoken

  • Тип контента: application/json

Создание конфигурации JSON

  • Образ капли: ubuntu-18.04-x64

  • Регион: NYC1

  • Размер: s1-vcpu1-1gb

$JSON = @{
  "name"               = "test-web-vm"
  "region"             = "nyc1"
  "size"               = "s-1vcpu-1gb"
  "image"              = "ubuntu-18-04-x64"
  "ipv6"               = $true
  "private_networking" = $true
	"monitoring"         = $true
} | ConvertTo-JSON -Compress

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

Предоставление дроплета

$JSON = @{
  "name"               = "test-web-vm"
  "region"             = "nyc1"
  "size"               = "s-1vcpu-1gb"
  "image"              = "ubuntu-18-04-x64"
  "ipv6"               = true
  "private_networking" = true
	"monitoring"         = true
	"user_data"          = "#cloud-confignpackage_update: truenpackage_upgrade: true"
} | ConvertTo-JSON -Compress

$Params = @{
  "URI"            = "https://api.linux-console.net/v2/droplets"
  "Method"         = "POST"
  "Body"           = $JSON
	"Authentication" = "OAuth"
  "Token"          = ('digitaloceanapitoken' | ConvertTo-SecureString -AsPlainText)
  "ErrorAction"    = 'Stop'
  "Headers"        = @{
	  "Content-Type" = "application/json"
  }
}

Invoke-RestMethod @Params

Дополнительные опции

  • ssh_keys

  • резервные копии

  • тома

  • теги

Подведение итогов