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

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

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

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,6 +1,7 @@
1 -*
2 -** Содержание
1 +**Содержание**
3 3  
3 +{{toc/}}
4 +
4 4  == Подготовка файла конфигурации ==
5 5  
6 6  ----
... ... @@ -16,6 +16,8 @@
16 16  Провайдер 3.9.0 https://registry.terraform.io/providers/vmware/vcd/latest/docs
17 17  {{/info}}
18 18  
20 +[[image:Рисунок1.png]]
21 +
19 19  3. Инициализируйте Terraform в папке с конфигурационным файлом main.tf.
20 20  
21 21  {{info}}
... ... @@ -22,15 +22,16 @@
22 22  Команда {{code language="none"}}terraform init{{/code}} используется для инициализации рабочего каталога Terraform. При введении команды она автоматически загрузит и установит все необходимые провайдеры и плагины Terraform.
23 23  {{/info}}
24 24  
25 -[[image:__fileCreatedFromDataURI__.png]]
28 +[[image:Рисунок2.png]]
26 26  
27 27  4. Для обновления версии провайдера измените версию в файле main.tf и введите команду {{code language="none"}}terraform init -upgrade{{/code}}.
28 28  
29 -[[image:__fileCreatedFromDataURI__.png]]
32 +[[image:Рисунок3.png]]
30 30  
31 -5. Проверьте версию Terraform и установленного провайдера при помощи команды {{code language="none"}}terraform -version{{/code}}//.//
32 -[[image:__fileCreatedFromDataURI__.png]]
34 +5. Проверьте версию Terraform и установленного провайдера при помощи команды {{code language="none"}}terraform -version{{/code}}.
33 33  
36 +[[image:Рисунок5.png]]
37 +
34 34  == Подключение к Cloud Director ==
35 35  
36 36  ----
... ... @@ -108,3 +108,156 @@
108 108  }
109 109  
110 110  {{/code}}
115 +
116 +=== Основные команды ===
117 +
118 +* {{code language="none"}}terraform -help{{/code}} – вывод справок.
119 +* {{code language="none"}}terraform -version{{/code}} – вывод версии Terraform и установленных провайдеров.
120 +* {{code language="none"}}terraform init{{/code}} – инициализация каталога Terraform.
121 +* {{code language="none"}}terraform plan{{/code}} – генерация файла изменений и вывод изменений в инфраструктуре.
122 +* {{code language="none"}}terraform apply{{/code}} – применение изменений конфигурации, изначально выводит список изменений и/или добавлений в инфраструктуру.
123 +* {{code language="none"}}terraform destroy{{/code}} – удаление инфраструктуры.
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 +
Рисунок1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ISafonova
Размер
... ... @@ -1,0 +1,1 @@
1 +54.7 KB
Содержимое
Рисунок2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ISafonova
Размер
... ... @@ -1,0 +1,1 @@
1 +123.7 KB
Содержимое
Рисунок3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ISafonova
Размер
... ... @@ -1,0 +1,1 @@
1 +119.1 KB
Содержимое
Рисунок5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ISafonova
Размер
... ... @@ -1,0 +1,1 @@
1 +14.2 KB
Содержимое