By Alka Gupta, Pranay Bakre, Eduardo Meirelles and Bhuvanesh Kumar Ravichandran
In the digital economy, the time it takes to bring software to market can be a crucial competitive advantage. Achieving success is increasingly dependent on empowering developers to be rapid innovators. VMware vSphere Integrated Containers does just that—it gives devs an essential tool for streamlining the process of building and running containerized applications in production.
But to decrease time to market, developers can’t just be fast and agile; they also need to be self-sufficient. Even with vSphere Integrated Containers, developers might still have to request their first Virtual Container Host (VCH) through a ticketing system or email. Submitting these requests and waiting for them to be filled can bog down the software development process.
VMware vRealize Automation supplies the missing piece of the puzzle. Its service catalog can instantly provision IT services across a multi-vendor, multi-cloud infrastructure. By using the service catalog in vRealize Automation to provision Virtual Container Hosts on-demand as a ticketless offer, you can make your developers self-sufficient. They can then stop submitting requests for VCH, and IT can stop scrambling to fulfill them.
Here’s a step-by-step tutorial on how to use the XaaS blueprint in vRealize Automation to create a fast, self-service offering of Virtual Container Hosts while ensuring compliance with business policies. The following steps, which assume you are using vRealize Automation 7.2 or later, automate the provisioning of VCHs from the vRealize Automation service catalog.
- Download the ‘VIC-Deploy.zip’ file and unzip it
- Log in to vRealize Orchestrator in your environment
- Select ‘Design’ from the dropdown on the homepage, click on the ‘Packages’ tab and select ‘Import Package’ icon
- Select the vmware.vra.vic.package from the zip file, trust the certificate and import it as seen below:
- Go to the ‘Workflows’ tab and verify that you see the workflows as below:
- Go to the ‘Configurations’ tab and select the configuration element found under the path – VMware->VIC Deploy->vRealize Automation->Targets. Note: The element contains example values. Edit the element as per your environment settings. You can change the name of the element as well. Note: If you are using multiple clusters in your environment, you need to add an additional attribute named ‘compute-resource’ and the name of the cluster as its value.
- The name of configuration element in the path — VMware->VIC Deploy->vRealize Automation->Deployments must be the same as the configuration element under the path — VMware->VIC Deploy->vRealize Automation->Targets
- Go to the ‘Workflows’ tab, expand the tree — Library->Dynamic Types->Configuration and execute the workflow — Import Configuration From Package
- Select the ‘dynamictypes-config-23-Feb-2017-19-36-55-GMT.package’ from ‘VIC-Deploy.zip’ and submit the workflow like below:
- Download the vic-1.2.1.tar.gz
- Unzip the file.
- Log in to the vRealize Orchestrator appliance and copy the vic v1.2.0.tar file to this location: /etc/vco/app-server
- Untar the file using the following command: tar –xvf vic1.2.0.tar
- A folder should be created on the path named vic
- Change the permissions for this folder using the following command: chown –R vco:vco vic
- Verify the change of permissions by executing the following command: ls –l
- Edit the /etc/vco/app-server/properties and add the following property to the bottom of the file: com.vmware.js.allow-local-process=true
- Close the editor and restart the vco service using the following command: /etc/init.d/vco-server restart (Note: If you have a high available implementation of vRealize Automation, steps 10 – 17 must be performed on every vRealize Automation appliance node).
- Go back to the unzipped directory of ‘VIC-Deploy.zip’ that you downloaded in the first step and import the XaaS blueprint into your vRealize Automation setup using a utility called CloudClient.
- Log in to your vRealize Automation environment using CloudClient:Note: Log in with a user who has IaaS administrator privileges with the following command: vra login userpass –user –tenant –server https:// –password
- Import the blueprint using the following command — vra content import –path “path_to extracted_files”\02.23.2017\1432562-02c4-41dd-b90a-c2f618f42aed-xaas-blueprint.zip –resolution OVERWRITE –precheck WARN –verbose as shown in the screenshot below:
- Once you successfully import the blueprint, you should see this blueprint in vRealize Automation:
- Similarly, import the XaaS-resource action into vRealize Automation using the following command: vra content import –path “path_to extracted_files”\02.23.2017\82d4ebe0-f9a1-462d-bb24-5862dbdb8e7b-xaas-resource-action.zip –resolution OVERWRITE –precheck WARN –verbose
- Log in to your vRealize Automation tenant, navigate to Design->XaaS->XaaS Blueprints and edit the blueprint ‘Deploy Virtual Container Host.’
- Go to the ‘Blueprint Form’ tab and select the field named ‘Select vSphere / ESXi Host.’ Make sure that the ‘Default Value’ matches the name of the configuration element specified in step six
- To make this blueprint available for consumption, make sure to publish and add it to the correct entitlements so DevOps users can request VCH from their available catalogs. Similarly, add the ‘Destroy VCH’ action to the entitlements for DevOps users. This action will be used to remove VCH from the environment
- Go to the ‘vRA Catalog’ tab and you should see ‘Deploy Virtual Container Host’ as a catalog item
- Request the item, pass in the required parameters like ‘Virtual Container Host Name’ and ‘Bridge Network Port Group’ and submit the request
- Check the status of your request in the ‘Requests’ tab
- Log in to vSphere and you should see a vApp named ‘Demo-01’ and a virtual machine with the same name provisioned in your environment as shown in screenshot below:
- Log in to your vRealize Automation tenant and navigate to the ‘Containers’ tab. In the ‘Hosts’ section, you should see ‘Demo-01’ with status as ‘ON’ as shown below:
Once the VCH is deployed, its URL can be made available to the developers who can then start deploying vSphere Integrated Containers using the Docker client OR from vRealize Automation utilizing the vRA-Containers provisioning feature.