Deploy in under 30 minutes a Turbonomic ARM instance on Linux in a VMware vSphere environment.
- Terraform - Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.
- vSphere account - Access to vSphere with the proper authorization to create VMs and deploy OVAs
If you are an IBMer or Business Parter, you can request access to vSphere through IBM TechZone.
VMware on IBM Cloud Environments
Select Request vCenter access (OCP Gym)
Tip: If you are using TechZone, it is recommended to enabled VPN when making the reservation (this avoids the need for access to the environment through guacamole).
The latest Turbonomic releases and downloads can be found here. Find the OVA release you would like to use and copy that link. The OVA file is about 19gb.
From the bastion host download the OVA. For example:
wget https://download.vmturbo.com/appliance/release/8.17.0/turbonomic-t8c-8.17.0-20250729190949000.ova💡 Tip: If you're connecting to vSphere through a WireGuard VPN, you might experience timeouts or connectivity issues. In such cases, consider running your Terraform commands from a bastion host that resides within the same network or environment as vSphere. This can help avoid VPN-related latency or firewall restrictions that interfere with the connection.
To install Terraform from a RHEL 8 bastion host, follow these steps:
Open a terminal and run:
sudo yum install -y yum-utils git bind-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum install -y terraform
Check the installed version:
terraform -versionClone this repository to your bastion host. This will allow you to configure and run terraform.
From the bastion host, run:
git clone https://github.com/ibm-client-engineering/terraform-turbonomic-vmware.git
cd terraform-turbonomic-vmware
There is a file called terraform.tfvars.example. Copy this file to terraform.tfvars and set variables here according to your needs.
cp terraform.tfvars.example terraform.tfvarsvSphere Connection and Environment:
These variables define the connection details for your vSphere server and the specific environment where the virtual machine will be deployed.
-
base_domain: The root domain for your cluster. The cluster's domain will be a subdomain of this value (default isgym.lan). -
vsphere_hostname: The fully qualified domain name (FQDN) of your vSphere server. -
vsphere_username: The username for accessing the vSphere server. -
vsphere_password: The password for the vSphere user. -
vsphere_cluster: The name of the vSphere cluster where the VMs will be deployed. -
vsphere_datacenter: The name of the vSphere data center. -
vsphere_datastore: The name of the vSphere data store where the VM disks will be located. -
vsphere_network: The name of the VM network segment for the cluster nodes. -
vsphere_folder: The path to the vSphere folder where the VMs will be created. -
vsphere_resource_pool: The name of the resource pool to use for the VMs. Use only the name of the resource pool, not the full path. -
vsphere_host_system: A VMware ESX(i) host that can be used to deploy the OVA. This can be any ESX(i) host in your cluster. Find these using the vSphere client console.
Environment:
common_prefix: The prefix used for all hostnames and identifiers (default isturbo).
OVA/OVF Configuration:
local_ovf_path: The full path to the.ovafile you downloaded previously.
We are now ready to deploy our infrastructure. First we ask terraform to plan the execution with:
terraform planNow we can deploy our resources with:
terraform applyIt takes about 9 minutes for the deployment to complete. Once complete, you may also need to wait a minute or two for the IP address to be assigned to the running VM. Once that is assigned (you can view it through the vSphere client console), you can follow the instruction in the Turbonomic documentation to configure an OVA-based instance.
To destroy all resources, run the following command.
terraform destroy -auto-approve