21 February, 2024
November 30, 2022
Developers, software engineers, and DevOps teams typically need an IP address management (IPAM) solution that can manage, assign, and release IP addresses for their VM containers and other provisioning needs.
Although VMware vRA has an integrated IPAM solution, it’s pretty basic. It’s useful for certain use cases, such as testing, but it has a limited API, and other systems would find it hard to work together with the tool. We frequently see that it’s not enough for our customers.
A production environment requires an external IPAM solution for more advanced features. One of the main benefits that we see from an external IPAM is that other systems, pipelines, automations, and users can integrate with it more natively, so they are all aware of the available resources and avoid conflicts over IP addresses. If you have a large company, an external IPAM enables you to consume IPs manually, reserve IPs, use dedicated tools, and achieve some DNS awareness.
At TeraSky, one of our favorite ways to integrate an external IPAM is with Infoblox. Infoblox has an IPAM integration solution for vRA8, which is far simpler than the one it had for vra7. There’s no need for workflows; you just download the pre-configured Infoblox package, upload it to vRA8, and tell the blueprint or infrastructure to take IP addresses from this IPAM. The vRA8 integration will automatically know what to do in the background, so you have far less manual work to complete.
Alternatively, you can build your own dedicated IPAM integration and use that in your provisioning process. vRA8 knows how to handle it, which is the big difference between vRA7 and vRA8.
For customers who can’t or don’t want to use the built-in IPAM integration for Infoblox, we use ABX, which can be written in PowerShell, NodeJS, or Python. ABX are extensibility-based actions that utilize the Kubernetes cluster, which is the core of vRA, to provide function-as-a-service, so there’s no need for an external function-as-a-service provider like vRealize Orchestrator. We run ABX code directly in vRA on the customer’s deployments, using API calls to fetch an IP address from any external IPAM provider. So once the function-as-a-service from ABX is ready, we set automation to reserve an IP and another one to release it. When the deployment is triggered, it executes the automation, retrieves the necessary number of IPs, and then releases them in the same way.
While the Infoblox integration is the easiest way to connect an external IPAM with vRA8, the beauty of vRA8 is that you can bring any dedicated IPAM tool into your deployments with very little effort and a minimum of manual tasks.
Written by: Zach Benassayag, Cloud Automation Engineer