vRA uses Custom properties to help define parameters and the behaviour of requests. In the previous post CHEF: vRA Integration, Property Groups and Blueprints we used custom properties to define the properties of our Chef deployment.
In this post, we look at using custom properties to assign the node environment. The Chef default client deployment workflows form the basis of the examples.
A brief on custom properties We use custom properties to manipulate many aspects of workflow execution.
The Chef plugin provides some workflows to help with getting the vRA integration up and running with minimal effort. I would suggest treating them as samples to build functionality on top of. There are some limitations from the default state which might not provide sufficient flexibility for production usage.
Setting up the Property Groups: Launch the vRO Client and navigate to the Chef workflow ‘Create Property Group for Chef EBS Workflows’.
Chef Integration with vRA: Part1
In the previous Chef integration with vRA post, we covered how to install the Chef plugin for vRO. In this post, we will look at provided workflows used to install the Chef Client on Windows and Linux VMs. The workflows are called by the Event Broker Servers (EBS) after a VM is provisioned.
The Client Provision Workflow To begin launch the vRO client and navigate to the Chef workflow folder.
The Chef agent is installed on a VM after the VM has been deployed and completed the ‘Machine Building’ stage of deployment. This is achieved by creating an event subscription through vRAs Event Broker Service (EBS).
When an event triggers an EBS subscription, vRA communicates with vRO causing a workflow to run. This means the first step of configuring Chef integration with vRA is to configure the Chef vRO plugin.
Terraform is an awesome tool used to manage infrastructure using the Infrastructure as Code philosophy. Modules called Providers enable Terraform to communicate with a number of different cloud providers.
Post deployment tasks are performed through a separate set of modules called ‘Provisioners’;. A provisioner is used to execute commands locally on an instance after it’s been created. One such provisioner enables the Chef client to be installed on the newly provisioned instance and the instance to be added as a node to the Chef Server.
Configuration management systems are used to deploy and ensure a standard environmental state. You might use a configuration manager to ensure that a file exists, or a certain setting is always applied to a system. As your IT infrastructure grows or becomes more distributed ensuring a consistent state becomes more difficult. Through deploying and ensuring consistent state across multiple systems based on central policies configuration managers help to lower the administrative overhead, improve security and reliability.