Updated 07.01.01 Resource функция decort_kvmvm управление виртуальными машинами на базе KVM (markdown)
@@ -1,5 +1,18 @@
|
||||
_Resource_ функция **decort_kvmvm** служит для управления виртуальными машинами, создаваемыми в платформе DECORT на базе технологии виртуализации KVM.
|
||||
|
||||
## Изменения в 3.2.0
|
||||
Начиная с версии 3.2.0, в ресурсе kvmvm появился дополнительный блок - disk. Данный блок позволяет автоматически создавать диски и прикреплять их к виртуальной машине. Основные отличия от extra_disks заключаются в следующем:
|
||||
- Диск автоматически создается, в extra_disks осуществляется присоединение уже созданных дисков.
|
||||
- Диск позволяет использовать системный образ для создания.
|
||||
|
||||
### Возможные затруднения при работе с блоком disk.
|
||||
По умолчанию, sep_id и pool в платформе выбираются те же, на которых размещается загрузочный диск (создается вместе с виртуальной машиной). Из-за этого, могут возникать ошибки следующего характера:
|
||||
- `Cannot add disk to Compute ID XXX: Pool xxxx does not support disk type X ` - данная ошибка означает то, что выбранный пул не поддерживает выбранные тип диска
|
||||
Пути решения:
|
||||
- Выполнить **decort_disk_list_types_detailed**. Результатом выполнения этой функции станет список доступных пулов хранилища вместе с их идентификаторами (sep_id).
|
||||
- Заполнить поля sep_id и pool подходящими полями для диска.
|
||||
|
||||
|
||||
## Аргументы
|
||||
_Resource_ функция **decort_kvmvm** принимает следующие аргументы:
|
||||
|
||||
@@ -23,6 +36,19 @@ _Resource_ функция **decort_kvmvm** принимает следующие
|
||||
| ipa_type | string | :x: | Тип аутентификатора |
|
||||
| permanently | bool | :x: | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
|
||||
| detach_disks | bool | :x: | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
|
||||
| disk | см. ниже | :x: | Описание диска. Таких может быть любое кол-во, либо не быть вообще |
|
||||
|
||||
### Описание блока disk
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | --- | --- |
|
||||
| disk_name | string | :heavy_check_mark: | Наименование диска |
|
||||
| size | int | :heavy_check_mark: | Размер диска, GB |
|
||||
| disk_type | string | :x: | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск |
|
||||
| sep_id | int | :x: | ID storage endpoint |
|
||||
| pool | string | :x: | Наименование пула для размещения диска |
|
||||
| desc | string | :x: | Описание диска |
|
||||
| image_id | int | :x: | ID образа |
|
||||
| permanently | bool | :x: | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false |
|
||||
|
||||
## Возвращаемые значения
|
||||
В случае успешного выполнения _resource_ функция **decort_kvmvm** возвращает в указанную при вызове переменную следующие значения:
|
||||
@@ -54,6 +80,20 @@ _Resource_ функция **decort_kvmvm** принимает следующие
|
||||
| ipa_type | string | Тип аутентификатора |
|
||||
| permanently | bool | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
|
||||
| detach_disks | bool | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
|
||||
| disk | см. ниже | Описание диска. Таких может быть любое кол-во, либо не быть вообще |
|
||||
|
||||
### Описание блока disk
|
||||
| Аргумент | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| disk_id | int | ID диска |
|
||||
| disk_name | string | Наименование диска |
|
||||
| size | int | Размер диска, GB |
|
||||
| disk_type | string | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск |
|
||||
| sep_id | int | ID storage endpoint |
|
||||
| pool | string | Наименование пула для размещения диска |
|
||||
| desc | string | Описание диска |
|
||||
| image_id | int | ID образа |
|
||||
| permanently | bool | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false |
|
||||
|
||||
## Пример использования
|
||||
В нижеприведённом примере с помощью _resource_ функции **decort_kvmvm** создаётся виртуальная машина (экземпляр _compute_ в терминологии платформы DECORT) следующими характеристиками:
|
||||
@@ -63,6 +103,7 @@ _Resource_ функция **decort_kvmvm** принимает следующие
|
||||
* Идентификатор ресурсной группы, в которой создаётся виртуальная машина - поступает из переменной _decort_resgroup.my_rg.id_
|
||||
* Идентификатор образа ОС, который будет установлен на загрузочный диск - поступает из переменной _data.decort_image.os_image.id_
|
||||
* Виртуальная машина будет иметь одно сетевое подключение - во внешнюю сеть с идентификатором 12, IP адрес этого подключения платформа установит автоматически
|
||||
* Для виртуальной машины будет создан и автоматически подключен диск с именем "test_disk" и размером в 10 GB. Созданный диск будет иметь тип "D", размещен в pool "test_pool", в хранилище с идентификатором 3. Данный диск будет создан с системным образом, который имеет идентификатор 3456.
|
||||
|
||||
```terraform
|
||||
resource "decort_kvmvm" "my_new_vm" {
|
||||
@@ -80,6 +121,14 @@ resource "decort_kvmvm" "my_new_vm" {
|
||||
net_type = "EXTNET"
|
||||
net_id = 12
|
||||
}
|
||||
disk{
|
||||
disk_name = "test_disk"
|
||||
size = 10
|
||||
sep_id = 3
|
||||
pool = "test_pool"
|
||||
image_id = 3456
|
||||
}
|
||||
|
||||
|
||||
#started = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user