Updated 07.01.01 Resource функция decort_kvmvm управление виртуальными машинами на базе KVM (markdown)

stSolo
2022-10-31 15:54:05 +03:00
parent b9dd7ca8e0
commit e20342c768

@@ -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
}