Terraform VMware Cloud Director Supplier v3.12.0 is obtainable, introducing many new options and enhancements.
Introducing the Container Service Extension (CSE) Kubernetes Cluster useful resource and information supply
Through the previous releases of the supplier, we gathered an excellent quantity of suggestions from the neighborhood, and we understood that utilizing Runtime Outlined Entities to create, replace and handle a Kubernetes cluster was typically difficult and never trivial, because it required a deep understanding of the CSE internal workings.
This launch entails an enormous step ahead for CSE customers, by offering a new useful resource and information supply vcd_cse_kubernetes_cluster, to summary the Kubernetes cluster authors from coping with the complexity of the generic strategies offered within the now deprecated Kubernetes Cluster administration information.
The brand new vcd_cse_kubernetes_cluster useful resource appears to be like like this:
control_plane {
machine_count = 3
disk_size_gi = 20
sizing_policy_id = information.vcd_vm_sizing_policy.tkg_small.id
storage_profile_id = information.vcd_storage_profile.sp.id
}
worker_pool {
title = “worker-pool-1”
machine_count = 10
disk_size_gi = 100
sizing_policy_id = information.vcd_vm_sizing_policy.tkg_small.id
storage_profile_id = information.vcd_storage_profile.sp.id
}
default_storage_class {
title = “default-storage-class”
storage_profile_id = information.vcd_storage_profile.sp.id
reclaim_policy = “delete”
filesystem = “ext4”
}
auto_repair_on_errors = true
node_health_check = true
operations_timeout_minutes = 0
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| useful resource “vcd_cse_kubernetes_cluster” “my_cluster” { cse_version = “4.2.0” title = “my-cluster” kubernetes_template_id = information.vcd_catalog_vapp_template.tkg_ova.id org = information.vcd_org_vdc.vdc.org vdc_id = information.vcd_org_vdc.vdc.id network_id = information.vcd_network_routed_v2.routed.id api_token_file = vcd_api_token.token.file_name
control_plane { machine_count = 3 disk_size_gi = 20 sizing_policy_id = information.vcd_vm_sizing_policy.tkg_small.id storage_profile_id = information.vcd_storage_profile.sp.id }
worker_pool { title = “worker-pool-1” machine_count = 10 disk_size_gi = 100 sizing_policy_id = information.vcd_vm_sizing_policy.tkg_small.id storage_profile_id = information.vcd_storage_profile.sp.id }
default_storage_class { title = “default-storage-class” storage_profile_id = information.vcd_storage_profile.sp.id reclaim_policy = “delete” filesystem = “ext4” }
auto_repair_on_errors = true node_health_check = true
operations_timeout_minutes = 0 }
|
Readers will observe that the obtainable arguments of this useful resource are pretty much like the choices obtainable in UI when making a Kubernetes cluster with the wizard. All of the RDE schemas, RDE Varieties, and YAML information will not be used explicitly anymore.
Likewise, customers will expertise a extra comfy mechanism to replace their clusters, as they gained´t want to control JSON information both. The useful resource helps all of the updateable components which are additionally achievable utilizing the UI: Resize the management aircraft, the employee swimming pools, allow/disable the node well being examine, and switch off the “auto-repair” flag (4.1.0 solely).
This new useful resource is obtainable for CSE variations 4.2.1, 4.2.0, 4.1.1(a) and 4.1.0. It additionally helps importing current clusters, for those that had been utilizing the generic method emigrate their current ones, and customers may also learn current clusters with the info supply.
Including help for Container Service Extension (CSE) 4.2.0 and 4.2.1
This model of the supplier updates the set up information to help the latest variations of CSE, 4.2.0 and 4.2.1.
As talked about within the earlier part, the Kubernetes Cluster administration information is now deprecated in favor of the brand new vcd_cse_kubernetes_cluster useful resource and information supply.
The supplier repository accommodates now all of the RDE Sort schemas required for CSE 4.2.x and a few instance configurations for each 4.2.0 and 4.2.1 (as they differ in configuration values corresponding to CAPVCD model, CPI model and CSI model).
Different notable modifications and enhancements
Consolidating VM disks on creation to help overriding template disks
A frequent person requested lacking performance was overriding disk sizes in quick provisioned VDCs. Terraform supplier v3.12.0 provides new area consolidate_disks_on_create in each assets vcd_vapp_vm and vcd_vm. When enabled, it’ll consolidate disks throughout VM creation. It could be helpful by itself, however it additionally permits overriding template disks when creating VMs in quick provisioned VDCs.
# Quick provisioned VDCs require disks to be consolidated
# if their dimension is to be modified
consolidate_disks_on_create = true
override_template_disk {
bus_type = “paravirtual”
size_in_mb = “22384”
bus_number = 0
unit_number = 0
iops = 0
storage_profile = “*”
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| useful resource “vcd_vapp_vm” “resized” { vapp_name = vcd_vapp.net.title title = “Resized-OS-disk-VM” vapp_template_id = information.vcd_catalog_vapp_template.lampstack.id reminiscence = 2048 cpus = 2 cpu_cores = 1
# Quick provisioned VDCs require disks to be consolidated # if their dimension is to be modified consolidate_disks_on_create = true
override_template_disk { bus_type = “paravirtual” size_in_mb = “22384” bus_number = 0 unit_number = 0 iops = 0 storage_profile = “*” } }
|
VM Copy help
Each VM assets vcd_vapp_vm and vcd_vm get new area copy_from_vm_id that can be utilized to create a VM from already current one as a substitute of counting on catalog template or an empty VM.
useful resource “vcd_vapp_vm” “vm-copy” {
org = “org”
vdc = “vdc”
copy_from_vm_id = information.vcd_vapp_vm.current.id # supply VM ID
vapp_name = information.vcd_vapp_vm.current.vapp_name
title = “VM Copy”
power_on = false
}
|
| information “vcd_vapp_vm” “current” { vapp_name = information.vcd_vapp.net.title title = “web1” }
useful resource “vcd_vapp_vm” “vm-copy” { org = “org” vdc = “vdc”
copy_from_vm_id = information.vcd_vapp_vm.current.id # supply VM ID vapp_name = information.vcd_vapp_vm.current.vapp_name title = “VM Copy” power_on = false }
|
Creating vApp templates from vApps or standalone VMs
The final bit that ranges up VM management is that useful resource vcd_catalog_vapp_template introduces an choice to seize vApp templates from current vApps or standalone VMs. One can use a brand new capture_vapp block that accepts supply vApp ID. Moreover, the vcd_vapp_vm and vcd_vm assets and information sources expose vapp_id attributes that may be specified as a supply in capture_vapp.source_id. That is particularly helpful for standalone VMs which have hidden vApps.
useful resource “vcd_catalog_vapp_template” “from-vapp” {
org = “v51”
catalog_id = information.vcd_catalog.cat.id
title = “from-vapp”
capture_vapp {
source_id = vcd_vapp.net.id
customize_on_instantiate = false
}
lease {
storage_lease_in_sec = 3600 * 24 * 3
}
# Utilizing dependency to make sure that all VMs are current in vApp that
# is being captured
depends_on = [vcd_vapp_vm.emptyVM]
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| information “vcd_catalog” “cat” { org = “v51” title = “demo-catalog” }
useful resource “vcd_catalog_vapp_template” “from-vapp” { org = “v51” catalog_id = information.vcd_catalog.cat.id
title = “from-vapp”
capture_vapp { source_id = vcd_vapp.net.id customize_on_instantiate = false }
lease { storage_lease_in_sec = 3600 * 24 * 3 }
# Utilizing dependency to make sure that all VMs are current in vApp that # is being captured depends_on = [vcd_vapp_vm.emptyVM] }
|
Route commercial configuration for routed Org VDC networks
Route commercial toggle area route_advertisement_enabled in useful resource vcd_network_routed_v2 that enables customers to allow route commercial per routed community, which works along with IP House route commercial
Record of recent assets and information sources
- 1 new useful resource:
- 2 new information sources:
There are extra options and enhancements, which you’ll be able to see within the undertaking’s changelog. And, as all the time, we’re awaiting your suggestions and strategies in GitHub Points and #vcd-terraform-dev Slack channel (vmwarecode.slack.com).
