Изменения документа 08. Подключение Terraform к VCD

Редактировал(а) Ирина Сафонова 18.03.2024, 22:31

От версии 13.1
отредактировано Ирина Сафонова
на 01.05.2023, 01:08
Изменить комментарий: К данной версии нет комментариев
К версии 14.1
отредактировано Ирина Сафонова
на 01.05.2023, 01:20
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -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 +