VMware vCloud Director Cookbook
上QQ阅读APP看书,第一时间看更新

Automatic IP management for External Network Pools

Using vCloud to manage the IPs in an External Network Pool is quite efficient; however, only the IP is being managed, DNS settings are not. There are several other ways to do this.

Getting ready

We need a vApp with VMs attached to an External Network that get their IPs from a Static Network Pool.

In this example, we will focus on a Windows solution. We will need an Active Directory Server that has an integrated DNS (enable Active Directory Integrated DNS). You will need all the credentials ready for establishing connectivity to the Active Directory.

We also need a vApp that should contain Windows VMs that are able to join an Active Directory Domain. The vApp Network should be able to connect the VMs inside to the Active Directory, so it probably should be an Organization Network that connects to an External Network.

How to do it...

  1. Double-click on the VM you want to use for this testing.
  2. Follow the Joining VMs automatically to domains recipe in Chapter 3, Better vApps, to enable the automatic joining of the AD domain.
  3. Log into your organization.
  4. Start the vApp. If you have already switched on the vApp before you made the AD changes to it, you might need to force the Guest Customization. To do this, right-click on each VM and select Power On and Force Guest Customization.
  5. Check what IPs have been assigned to the VMs by either entering the vApp and clicking on Virtual Machines or by right-clicking on the External Network and selecting IP Allocation.
  6. Go back to your AD Server.
  7. Now check on your DNS server and the AD Server for the configuration update.

How it works...

We are actually just combining multiple recipes together and using a common AD function. By using the Windows Active Directory automatic updating function, we can automatically add a VM to the Windows-based DNS server. Unfortunately, there is a drawback. When you delete the vApp or the VM, the DNS entry will not be released. This can lead to some problems, and needs to be addressed with appropriate procedures or scripts.

There's more...

There are several more ways to deal with this. We will have a quick look at each method; however, a complete discussion is beyond the scope of this book.

Static DNS Pool

One method to deal with the DNS problem is to use preassigned DNS entries. This means that you will create an External Network and assign it an IP pool. When you are done, you assign in the DNS server a entries for each IP using a naming standard that uses increasing numbers.

The drawback here clearly is that the hostnames that have been used in DNS must be used in the vApps, and also that the naming standard cannot contain a reference to the operating systems.

Preallocated DNS pool with a manual IP

This solution again uses a predefined DNS pool. However, we will not use an External Network Pool (we still have to configure at least one IP to create an External Network Pool), but we will use manually assigned IP addresses while creating the VMs.

The benefit is that you can now preallocate hostnames that contain operating system references (or even application references). The drawback, however, is that you do not have any automated system. You still need to know what hostname is already in use.

Automated setup

Using vCenter Orchestrator or Puppet, you could define a workflow that creates a VM and automatically updates the DNS server.

Linux and Guest Customization

With Linux, the Guest Customization is a bit different; we will have to use the command nsupdate to update the DNS server; however, you will have to create trust between the client and the DNS server. See the following See also section.