Cisco Intersight Service for HashiCorp Terraform (IST) addresses the challenge of securely connecting and configuring on-premises and hybrid environments to work with Terraform Cloud Business Tier. Leveraging Intersight Assist, users can integrate Terraform Cloud Business with Cisco Intersight, enabling secure communication between on-premises data centers and edge locations with the IaC platform. This means users can spend less time managing the end-to-end lifecycle of Terraform Cloud Agents, benefiting from native integration directly within Intersight, including upgrades and the ability to scale as demand grows.
In this example, we cover a simple use case that uses the Intersight Platform and Terrraform Cloud Business Tier to deploy virtual machines on-premise. This use case will walk the user through the following steps.
- Adding your Terraform Cloud for Business Tier Credentials
- Adding your Terraform Cloud Agent
- Executing Terraform Code to deploy virtual machines
- Intersight SaaS platform account with Advantage licenses
- An Intersight Assist appliance that is connected to your Intersight environment
- Terraform Cloud Business Tier Account
- vCenter Server Access
- DHCP server to allocate ip addresses dynamically
- GitHub account to host your Terraform code
To add your Terraform Cloud credentials in Intersight you will need the following:
- Terraform Cloud Username
- Terraform Cloud API Token
- Terraform Cloud Organization
Login to Intersight and claim your Terraform Cloud target.
Once the target is created, the agent can be added assist.
- Go to https://github.com/CiscoDevNet/ist-vm-provisioning
- Fork it into your own GitHub account
Create a template for a linux VM. This could be either CentOS or Ubuntu. Make sure you have VMware tools pre installed on the VM. We will use this template to a create a VM in the datacenter.
- Create a new worspace and choose a version control provider (setup in the previous step) that hosts the Terraform configuration for this workspace.
- Go to the Variables section and add the following variables with the value specific to your environment (the values provided below are examples)
Key | Value | Type |
---|---|---|
vsphere_server | 10.x.x.x | |
vsphere_user | administrator@vsphere.local | |
vsphere_password | ******** | Sensitive |
datacenter | SJC19 | |
resource_pool | IntersightPool | |
datacenter | SJC19 | |
resource_pool | IntersightPool | |
datastore_name | nfs-datastore-0 | |
network_name | vlan1238 | |
template_name | MO-CENTOS7 | |
vm_prefix | momagic | |
vm_folder | momagic | |
vm_count | 2 | |
vm_domain | cisco.com | |
vm_cpu | 2 | |
vm_memory | 2048 |
To execute the Terraform code in your datacenter click on the Queue Plan Manually button
You will see 2 virtual machines created
Get hands on experience with Intersight Service for Terraform in DevNet's Sandbox environment.
Cisco Intersight Service for HashiCorp Terraform
Learn how to provision virtual machines in vSphere using Intersight Service for Terraform.
Introduction to Intersight Service for Hashicorp Terraform Provisioning VMs using Intersight Terraform Service for Hashicorp