Изменения документа 08. Подключение Terraform к VCD
Редактировал(а) Ирина Сафонова 18.03.2024, 22:31
От версии 13.1
отредактировано Ирина Сафонова
на 01.05.2023, 01:08
на 01.05.2023, 01:08
Изменить комментарий:
К данной версии нет комментариев
К версии 14.1
отредактировано Ирина Сафонова
на 01.05.2023, 01:20
на 01.05.2023, 01:20
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -122,3 +122,146 @@ 122 122 * {{code language="none"}}terraform apply{{/code}} – применение изменений конфигурации, изначально выводит список изменений и/или добавлений в инфраструктуру. 123 123 * {{code language="none"}}terraform destroy{{/code}} – удаление инфраструктуры. 124 124 * {{code language="none"}}terraform refresh{{/code}} – обновление состояния с локальным файлом и состоянием реальных ресурсов. 125 + 126 +== Пример настройки == 127 + 128 +---- 129 + 130 +В примере создается vApp, в него помещается виртуальная машина и подключается к существующей сети. 131 +В файл main.tf: 132 + 133 +1. Укажите провайдер поддерживаемой версии Cloud Director. 134 + 135 +{{code language="none"}} 136 +terraform { 137 + required_providers { 138 + vcd = { 139 + source = "vmware/vcd" 140 + version = "3.7.0" 141 + } 142 + } 143 +} 144 + 145 +{{/code}} 146 + 147 +2. Подключитесь к **Tenant**. 148 + 149 +{{code language="none"}} 150 +provider "vcd" { 151 + user = var.vcd_user 152 + password = var.vcd_pass 153 + auth_type = "integrated" 154 + org = var.vcd_org 155 + vdc = var.vcd_vdc 156 + url = var.vcd_url 157 + max_retry_timeout = var.vcd_max_retry_timeout 158 + allow_unverified_ssl = var.vcd_allow_unverified_ssl 159 +} 160 + 161 +{{/code}} 162 + 163 +3. Создайте **vApp**. 164 + 165 +{{code language="none"}} 166 +resource "vcd_vapp" "vapp1" { 167 + name = "my-first-vapp" 168 + vdc = var.vcd_vdc 169 + org = var.vcd_org 170 +} 171 + 172 +{{/code}} 173 + 174 +4. Подключитесь в ручную созданную сеть **network** к **vApp** **my-first-vapp**. 175 + 176 +{{code language="none"}} 177 +resource "vcd_vapp_org_network" "is-net" { 178 + vapp_name = "my-first-vapp" 179 + vdc = var.vcd_vdc 180 + org_network_name = "network" 181 + depends_on = [vcd_vapp.vapp1] 182 +} 183 + 184 +{{/code}} 185 + 186 +5. Создайте виртуальную машину из шаблона в **vApp my-first-vapp** и включите кастомизацию ВМ с подключением сети **network**. 187 + 188 +{{code language="none"}} 189 +resource "vcd_vapp_vm" "vm1" { 190 + vapp_name = vcd_vapp.vapp1.name 191 + name = "my-first-vm" 192 + computer_name = "myvm" 193 + cpus = 4 194 + cpu_cores = 2 195 + memory = 4096 196 + org = var.vcd_org 197 + vdc = var.vcd_vdc 198 + storage_profile = var.storage_br 199 + os_type = "windows9Server64Guest" 200 + catalog_name = var.catalog_name_templates 201 + template_name = var.name_templates 202 + depends_on = [vcd_vapp.vapp1, vcd_vapp_org_network.is-net] 203 + customization { 204 + enabled = true 205 + force = true 206 + change_sid = true 207 + allow_local_admin_password = true 208 + auto_generate_password = false 209 + admin_password = "my-secure-password" 210 + } 211 + 212 + network { 213 + adapter_type = "VMXNET3" 214 + connected = true 215 + ip_allocation_mode = "POOL" 216 + is_primary = true 217 + name = "network" 218 + type = "org" 219 + } 220 +} 221 + 222 +{{/code}} 223 + 224 +Файл {{code language="none"}}variables.tf{{/code}}. 225 + 226 +{{code language="none"}} 227 +variable "vcd_user" { 228 + default = "my-terraform" 229 + description = "Cloud Director tenant user" 230 +} 231 +variable "vcd_pass" { 232 + default = "my-password" 233 + description = "Cloud Director tenant password" 234 +} 235 +variable "vcd_org" { 236 + default = "DataFort" 237 + description = "Tenant name" 238 +} 239 +variable "vcd_vdc" { 240 + default = "MY-VDC" 241 + description = "Name VDC" 242 +} 243 +variable "vcd_url" { 244 + default = "https://cloud3.datafort.ru/api" 245 + description = "URL Cloud Director API" 246 +} 247 +variable "vcd_max_retry_timeout" { 248 + default = "60" 249 +} 250 +variable "vcd_allow_unverified_ssl" { 251 + default = "true" 252 + description = "Disable SSL certificate" 253 +} 254 +variable "storage_br" { 255 + default = "HP3.1-VCD-Templates-Bronze-6" 256 +} 257 +variable "catalog_name_templates" { 258 + default = "Windows" 259 + description = "Name catalog templates" 260 +} 261 +variable "name_templates" { 262 + default = "Win2016_DE_RUS DC3 vCD_tmp" 263 + description = "Name templates" 264 +} 265 + 266 +{{/code}} 267 +