updated 02.example
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
Ниже приведён подробно откомментированный пример, показывающий, как создать виртуальный сервер (aka _compute_ на базе системы виртуализации KVM x86) в облачной платформе DECORT с помощью соответствующего Terraform провайдера. Сервер будет создан в новой ресурсной группе, к нему будет подключён один предварительно созданный диск, у сервера будет прямое сетевое подключение во внешнюю сеть.
|
Ниже приведён подробно откомментированный пример, показывающий, как создать виртуальный сервер (aka _compute_ на базе системы виртуализации KVM x86) в облачной платформе DECORT с помощью соответствующего Terraform провайдера. Сервер будет создан в новой ресурсной группе, к нему будет подключён один предварительно созданный диск, у сервера будет прямое сетевое подключение во внешнюю сеть.
|
||||||
|
|
||||||
Идентификатор образа операционной системы, на базе которого должен быть создан виртуальный сервер, считывается из облачной платформы с помощью _source data_ функци [decort_image]( link to follow ).
|
Идентификатор образа операционной системы, на базе которого должен быть создан виртуальный сервер, считывается из облачной платформы с помощью _data source_ функции `decort_image`.
|
||||||
|
|
||||||
Далее мы с помощью _resource_ функции [decort_resgroup]( link to follow) создаём новую ресурсную группу, в которую будет помещён этот виртуальный сервер. В качестве альтернативы, для получения информации об уже имеющейся ресурсной группе можно использовать _source data_ функцию с таким же названием.
|
Далее мы с помощью _resource_ функции `decort_resgroup` создаём новую ресурсную группу, в которую будет помещён этот виртуальный сервер. В качестве альтернативы, для получения информации об уже имеющейся ресурсной группе можно использовать _data source_ функцию с таким же названием.
|
||||||
|
|
||||||
Затем с помощью _resource_ функции [decort_disk]( link to follow) создаётся диск, который будет подключён к виртуальному серверу в качестве дополнительного. Помимо этого дополнительного диска у сервера будет также и загрузочный диск, на который в процессе создания сервера клонируется выбранный образ операционной системы.
|
Затем с помощью _resource_ функции `decort_disk` создаётся диск, который будет подключён к виртуальному серверу в качестве дополнительного. Помимо этого дополнительного диска у сервера будет также и загрузочный диск, на который в процессе создания сервера клонируется выбранный образ операционной системы.
|
||||||
|
|
||||||
Виртуальный сервер - в данном примере на базе системы виртуализации KVM x86 - создаётся посредством _resource_ функции [decort_kvmvm]( link to follow).
|
Виртуальный сервер - в данном примере на базе системы виртуализации KVM x86 - создаётся посредством _resource_ функции `decort_kvmvm`.
|
||||||
|
|
||||||
Только авторизованные в контроллере облачной платформы пользователи могут управлять облачными ресурсами. Подробнее о способах авторизации см. [Обзор облачной платформы DECORT](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/03.-Обзор-облачной-платформы-DECORT).
|
Только авторизованные в контроллере облачной платформы пользователи могут управлять облачными ресурсами. Подробнее о способах авторизации см. [Обзор облачной платформы DECORT](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/03.-Обзор-облачной-платформы-DECORT).
|
||||||
|
|
||||||
@@ -18,8 +18,18 @@
|
|||||||
# DECORT_APP_ID and DECORT_APP_SECRET environmental variables - set them
|
# DECORT_APP_ID and DECORT_APP_SECRET environmental variables - set them
|
||||||
# in the shell before calling terraform.
|
# in the shell before calling terraform.
|
||||||
# Alternatively you may define plugin parameters app_id and app_secret in
|
# Alternatively you may define plugin parameters app_id and app_secret in
|
||||||
# the TF file, however, this may be insecure if you plan to share this TF
|
# the TF file, however, this may not be secure if you plan to share this TF
|
||||||
# file with others.
|
# file with others.
|
||||||
|
|
||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
decort = {
|
||||||
|
version = "4.0.0"
|
||||||
|
source = "basis/decort/decort"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
provider "decort" {
|
provider "decort" {
|
||||||
authenticator = "oauth2"
|
authenticator = "oauth2"
|
||||||
controller_url = "<<DECORT_CONTROLLER_URL>>" # specify correct DECORT controller URL, e.g. "https://ds1.digitalenergy.online"
|
controller_url = "<<DECORT_CONTROLLER_URL>>" # specify correct DECORT controller URL, e.g. "https://ds1.digitalenergy.online"
|
||||||
@@ -29,18 +39,19 @@ provider "decort" {
|
|||||||
|
|
||||||
# 2. Load account to use - new VM will belong to this account
|
# 2. Load account to use - new VM will belong to this account
|
||||||
data "decort_account" "my_account" {
|
data "decort_account" "my_account" {
|
||||||
name = "<<NAME_OF_THE_ACCOUNT_TO_USE>>" # Specify the name of one of your accounts
|
account_id = <ACCOUNT_ID> # Specify account ID
|
||||||
}
|
}
|
||||||
|
|
||||||
# 3. Load OS image to use for VM deployment
|
# 3. Load OS image to use for VM deployment
|
||||||
data "decort_image" "os_image" {
|
data "decort_image" "os_image" {
|
||||||
image_id = "<<OS_IMAGE_ID>>" # Specify OS image id, e.g. 1234. You can get accessible image id from data "decort_image_list"
|
image_id = <OS_IMAGE_ID> # Specify OS image id, e.g. 1234. You can get accessible image id from data source "decort_image_list"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 4. Create new Resource Group in the selected account, new VM will be created in this RG
|
# 4. Create new Resource Group in the selected account, new VM will be created in this RG
|
||||||
resource "decort_resgroup" "my_rg" {
|
resource "decort_resgroup" "my_rg" {
|
||||||
name = "NewRgByTF"
|
name = "NewRgByTF"
|
||||||
account_id = data.decort_account.my_account.id
|
account_id = data.decort_account.my_account.id
|
||||||
|
gid = <GRID_ID> # Grid (platform) ID
|
||||||
# if you want to set resource quota on this Resource Group, uncomment
|
# if you want to set resource quota on this Resource Group, uncomment
|
||||||
# the following code fragment
|
# the following code fragment
|
||||||
# quota {
|
# quota {
|
||||||
@@ -54,10 +65,11 @@ resource "decort_resgroup" "my_rg" {
|
|||||||
# This step is optional - if you do not want extra disks on your VM, skip it
|
# This step is optional - if you do not want extra disks on your VM, skip it
|
||||||
# and comment out extra_disks parameter when creating VM below.
|
# and comment out extra_disks parameter when creating VM below.
|
||||||
resource "decort_disk" "extra_disk" {
|
resource "decort_disk" "extra_disk" {
|
||||||
name = "extra-disk-for-vm"
|
disk_name = "extra-disk-for-vm"
|
||||||
account_id = data.decort_account.my_account.id
|
account_id = data.decort_account.my_account.id
|
||||||
size = 5 # disk size in GB
|
gid = <GRID_ID> # Grid (platform) ID
|
||||||
type = "D" # disk type, always use "D" for exgtra disks
|
size_max = 5 # disk size in GB
|
||||||
|
type = "D" # disk type, always use "D" for extra disks
|
||||||
sep_id = data.decort_image.os_image.sep_id # use the same SEP ID as the OS image
|
sep_id = data.decort_image.os_image.sep_id # use the same SEP ID as the OS image
|
||||||
pool = "<<DATA_POOL_NAME>>" # consult your DECORT platform admin for configured storage pool names
|
pool = "<<DATA_POOL_NAME>>" # consult your DECORT platform admin for configured storage pool names
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user