Изменения документа 08. Подключение Terraform к VCD
Редактировал(а) Ирина Сафонова 18.03.2024, 22:31
От версии 35.1
отредактировано Ирина Сафонова
на 05.05.2023, 23:38
на 05.05.2023, 23:38
Изменить комментарий:
К данной версии нет комментариев
К версии 12.1
отредактировано Ирина Сафонова
на 01.05.2023, 01:04
на 01.05.2023, 01:04
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Вложения (0 изменено, 0 добавлено, 7 удалено)
Подробности
- Свойства страницы
-
- Теги
-
... ... @@ -1,1 +1,0 @@ 1 -Terraform - Содержимое
-
... ... @@ -6,15 +6,11 @@ 6 6 7 7 ---- 8 8 9 - [[image:Desktop2023-05-06 01.22.31.png]]9 +Для подготовки: 10 10 11 -[[image:image-20230506013811-1.png]] 11 +1. Создайте конфигурационный файл main.tf и файл с переменными{{code language="none"}}variables.tf{{/code}}. 12 +2. Перейдите по ссылкам ниже и скопируйте поддерживаемый provider в файл конфигурации {{code language="none"}}main.tf{{/code}}. 12 12 13 -Для подготовки конфигурационного файла: 14 - 15 -~1. Создайте конфигурационный файл {{code language="none"}}main.tf{{/code}}и файл с переменными{{code language="none"}}variables.tf{{/code}}. 16 -2. Перейдите по ссылкам ниже и скопируйте поддерживаемый **provider** в файл конфигурации {{code language="none"}}main.tf{{/code}}. 17 - 18 18 {{info}} 19 19 Для Cloud Director 10.2 максимально поддерживаемая версия провайдера 3.7.0, для Cloud Director 10.3 максимальная поддерживаемая версия 3.9.0. 20 20 Провайдер 3.7.0 https://registry.terraform.io/providers/vmware/vcd/3.7.0/docs ... ... @@ -21,30 +21,28 @@ 21 21 Провайдер 3.9.0 https://registry.terraform.io/providers/vmware/vcd/latest/docs 22 22 {{/info}} 23 23 24 -[[image: Рисунок1.png]]20 +[[image:__fileCreatedFromDataURI__.png]] 25 25 26 -3. Инициализируйте Terraform в папке с конфигурационным файлом {{code language="none"}}main.tf{{/code}}.22 +3. Инициализируйте Terraform в папке с конфигурационным файлом main.tf. 27 27 28 28 {{info}} 29 29 Команда {{code language="none"}}terraform init{{/code}} используется для инициализации рабочего каталога Terraform. При введении команды она автоматически загрузит и установит все необходимые провайдеры и плагины Terraform. 30 30 {{/info}} 31 31 32 -[[image: Рисунок2.png]]28 +[[image:__fileCreatedFromDataURI__.png]] 33 33 34 -4. Для обновления версии провайдера измените версию в файле {{code language="none"}}main.tf{{/code}}и введите команду {{code language="none"}}terraform init -upgrade{{/code}}.30 +4. Для обновления версии провайдера измените версию в файле main.tf и введите команду {{code language="none"}}terraform init -upgrade{{/code}}. 35 35 36 -[[image: Рисунок3.png]]32 +[[image:__fileCreatedFromDataURI__.png]] 37 37 38 38 5. Проверьте версию Terraform и установленного провайдера при помощи команды {{code language="none"}}terraform -version{{/code}}. 39 39 40 -[[image: Рисунок5.png]]36 +[[image:__fileCreatedFromDataURI__.png]] 41 41 42 42 == Подключение к Cloud Director == 43 43 44 44 ---- 45 45 46 -Для подключения: 47 - 48 48 ~1. Заполните файл {{code language="none"}}main.tf{{/code}} данными. 49 49 50 50 {{code language="none"}} ... ... @@ -121,161 +121,10 @@ 121 121 122 122 === Основные команды === 123 123 124 -(% class="table-bordered" style="width:544.818px" %) 125 -(% style="background-color:#d3d3d3; text-align:center" %)|(% style="width:228px" %)**Команда**|(% style="width:315px" %)**Комментарий** 126 -|(% style="width:228px" %){{code language="none"}}terraform -help{{/code}}|(% style="width:315px" %)Вывод справок. 127 -|(% style="width:228px" %){{code language="none"}}terraform -version{{/code}}|(% style="width:315px" %)Вывод версии Terraform и установленных провайдеров. 128 -|(% style="width:228px" %){{code language="none"}}terraform init{{/code}}|(% style="width:315px" %)Инициализация каталога Terraform. 129 -|(% style="width:228px" %){{code language="none"}}terraform plan{{/code}}|(% style="width:315px" %)Генерация файла изменений и вывод изменений в инфраструктуре. 130 -|(% style="width:228px" %){{code language="none"}}terraform apply{{/code}}|(% style="width:315px" %)Применение изменений конфигурации, изначально выводит список изменений и/или добавлений в инфраструктуру. 131 -|(% style="width:228px" %){{code language="none"}}terraform destroy{{/code}}|(% style="width:315px" %)Удаление инфраструктуры. 132 -|(% style="width:228px" %){{code language="none"}}terraform refresh{{/code}}|(% style="width:315px" %)Обновление состояния с локальным файлом и состоянием реальных ресурсов. 133 - 134 -(% style="color:inherit; font-family:inherit; font-size:26px" %)Пример настройки 135 - 136 ----- 137 - 138 -В примере создается **vApp**, в него помещается виртуальная машина и подключается к существующей сети. В файле {{code language="none"}}main.tf{{/code}}: 139 - 140 -~1. Укажите провайдер поддерживаемой версии Cloud Director. 141 - 142 -{{code language="none"}} 143 -terraform { 144 - required_providers { 145 - vcd = { 146 - source = "vmware/vcd" 147 - version = "3.7.0" 148 - } 149 - } 150 -} 151 - 152 -{{/code}} 153 - 154 -2. Подключитесь к **Tenant**. 155 - 156 -{{code language="none"}} 157 -provider "vcd" { 158 - user = var.vcd_user 159 - password = var.vcd_pass 160 - auth_type = "integrated" 161 - org = var.vcd_org 162 - vdc = var.vcd_vdc 163 - url = var.vcd_url 164 - max_retry_timeout = var.vcd_max_retry_timeout 165 - allow_unverified_ssl = var.vcd_allow_unverified_ssl 166 -} 167 - 168 -{{/code}} 169 - 170 -3. Создайте **vApp**. 171 - 172 -{{code language="none"}} 173 -resource "vcd_vapp" "vapp1" { 174 - name = "my-first-vapp" 175 - vdc = var.vcd_vdc 176 - org = var.vcd_org 177 -} 178 - 179 -{{/code}} 180 - 181 -4. Подключитесь в ручную созданную сеть **network** к **vApp** **my-first-vapp**. 182 - 183 -{{code language="none"}} 184 -resource "vcd_vapp_org_network" "is-net" { 185 - vapp_name = "my-first-vapp" 186 - vdc = var.vcd_vdc 187 - org_network_name = "network" 188 - depends_on = [vcd_vapp.vapp1] 189 -} 190 - 191 -{{/code}} 192 - 193 -5. Создайте виртуальную машину (ВМ) из шаблона в **vApp my-first-vapp** и включите кастомизацию ВМ с подключением сети **network**. 194 - 195 -{{code language="none"}} 196 -resource "vcd_vapp_vm" "vm1" { 197 - vapp_name = vcd_vapp.vapp1.name 198 - name = "my-first-vm" 199 - computer_name = "myvm" 200 - cpus = 4 201 - cpu_cores = 2 202 - memory = 4096 203 - org = var.vcd_org 204 - vdc = var.vcd_vdc 205 - storage_profile = var.storage_br 206 - os_type = "windows9Server64Guest" 207 - catalog_name = var.catalog_name_templates 208 - template_name = var.name_templates 209 - depends_on = [vcd_vapp.vapp1, vcd_vapp_org_network.is-net] 210 - customization { 211 - enabled = true 212 - force = true 213 - change_sid = true 214 - allow_local_admin_password = true 215 - auto_generate_password = false 216 - admin_password = "my-secure-password" 217 - } 218 - 219 - network { 220 - adapter_type = "VMXNET3" 221 - connected = true 222 - ip_allocation_mode = "POOL" 223 - is_primary = true 224 - name = "network" 225 - type = "org" 226 - } 227 -} 228 - 229 -{{/code}} 230 - 231 -Файл {{code language="none"}}variables.tf{{/code}}: 232 - 233 -{{code language="none"}} 234 -variable "vcd_user" { 235 - default = "my-terraform" 236 - description = "Cloud Director tenant user" 237 -} 238 -variable "vcd_pass" { 239 - default = "my-password" 240 - description = "Cloud Director tenant password" 241 -} 242 -variable "vcd_org" { 243 - default = "DataFort" 244 - description = "Tenant name" 245 -} 246 -variable "vcd_vdc" { 247 - default = "MY-VDC" 248 - description = "Name VDC" 249 -} 250 -variable "vcd_url" { 251 - default = "https://cloud3.datafort.ru/api" 252 - description = "URL Cloud Director API" 253 -} 254 -variable "vcd_max_retry_timeout" { 255 - default = "60" 256 -} 257 -variable "vcd_allow_unverified_ssl" { 258 - default = "true" 259 - description = "Disable SSL certificate" 260 -} 261 -variable "storage_br" { 262 - default = "HP3.1-VCD-Templates-Bronze-6" 263 -} 264 -variable "catalog_name_templates" { 265 - default = "Windows" 266 - description = "Name catalog templates" 267 -} 268 -variable "name_templates" { 269 - default = "Win2016_DE_RUS DC3 vCD_tmp" 270 - description = "Name templates" 271 -} 272 - 273 -{{/code}} 274 - 275 -== Ссылки на документацию == 276 - 277 ----- 278 - 279 -* [[https:~~/~~/registry.terraform.io/providers/vmware/vcd/latest/docs/resources/vapp_vm>>url:https://registry.terraform.io/providers/vmware/vcd/latest/docs/resources/vapp_vm]] — конфигурация виртуальных машин и список используемых типов операционных систем. 280 -* [[https:~~/~~/registry.terraform.io/providers/vmware/vcd/3.7.0/docs>>url:https://registry.terraform.io/providers/vmware/vcd/3.7.0/docs]] — перечисленные ресурсы для [[Cloud Director>>https://wiki.dfcloud.ru/bin/view/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20Terraform%20%D0%BA%20vCD/#H41F43E43443A43B44E44743543D43843543ACloudDirector]]. 281 -* [[https:~~/~~/developer.hashicorp.com/terraform/downloads>>url:https://developer.hashicorp.com/terraform/downloads]] — ссылка на скачивание Terraform. 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}} – обновление состояния с локальным файлом и состоянием реальных ресурсов.
- Desktop 2023-05-06 01.22.31.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -87.5 KB - Содержимое
- image-20230506013811-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -87.5 KB - Содержимое
- Рисунок1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -54.7 KB - Содержимое
- Рисунок2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -123.7 KB - Содержимое
- Рисунок3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -119.1 KB - Содержимое
- Рисунок5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -14.2 KB - Содержимое
- скрин_2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.ISafonova - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -272.5 KB - Содержимое