Exploring Containers with VMware vRealize

How to build containers in vRealize Automation and monitor them with vRealize Operations

Bookmark

VMware and WWT

One thing is certain about VMware vRealize Automation (vRA): every version just keeps getting better and better. What started as an Infrastructure as a Service (IaaS) tool in vCloud Cloud Automation Center (vCAC) has now become a complete IT as a Service (ITaaS) cloud management platform (CMP).

So, what’s trending out there in IT land? Integrations, multicloud and comparing the need for containerization vs. traditional virtual machines. We have several posts on working with Docker and Kubernetes containers, so I figured we should take a look at how we can build these containers in vRA and then monitor them with vRealize Operations (vROps).

Let’s start with the basics:

Software required

VMware vRealize Automation 7.3: Enterprise preferred for software components, or include an application management tool like Ansible or Puppet. This also includes the integrated VMware Admiral open source container management platform.

The container host

Photon OS is VMware’s open source operating system that's being developed to streamline how they build and manage virtual appliances for all VMware software solutions. Products like VMware vCenter Server Appliance (VCSA) have already adopted this new OS in version 6.5.

In this example, we are using a machine blueprint and VMware vRA software component to execute the Bash script for deploying Docker. The custom properties shown in the screenshot below allows for the host to be automatically added into Admiral as a container host. Our blueprint in particular builds a minimum three-host cluster, and leverages Infoblox IPAM as well as ServiceNow ITSM/CMDB during processing.

Host automatically added to Admiral

Here we can see the final blueprint added to the vRA Catalog and entitled for users to run. Typically, you would only entitle this blueprint to someone with a Container Administrator role in vRA, so they can access the Containers tab later for further management.

Final blueprint added to vRA Catalog

Once provisioned, the deployment and associated components appear in the Items tab for vRA. Here, an Administrator manages Day 2 resource actions such as providing backup as a service, lifecycle controls or scaling in/out the deployment. This is handled by clicking on the VM or deployment and then clicking Actions at the top. Custom Actions can be added by integrating vRO workflows into vRA and then entitling.

Admin's view managing Day 2 resources

VMware admiral management

After provisioning the Container Hosts, head over to the Containers tab. Here you can see the list of hosts added to Admiral and configure placement policies so hosts can be assigned to particular placement zones. Zones allow specific container services to operate on a specific cluster of hosts. So you can have staging, QA and dev zones or, in my case, a differentiation between our Advanced Technology Center (ATC) lab work versus Application Services work.

List of hosts added to Admiral

If your company requires the use of a private registry instead of using a public one like Docker Hub, simply add the registry connection in the Containers tab as well and indicate the type of login to support (user, ssh key, etc.)

Add the registry connection

Creating container blueprints

From the Containers tab in vRA, click the templates link in the tree. The most popular templates will appear, but you can search for, import or write one with Docker Compose.

Popular templates

In this example, I’m going to use Crate by clicking the drop-down menu and then clicking Enter Additional Info.

Using Crate

Click Save as Template.

Save your work

Next you can add additional containers, container networks and container volumes.

Adding more containers

The Policy tab of container definition is where you define the deployment policy for the new container.

Editing Container Definitions

Once the changes are complete, click Push and then head over to the Design tab to publish the new blueprint before adding entitlements.

Push to save

If you’re dealing with multiple containers that needs to communicate with each other, Admiral also includes a Link feature to map dependencies between them. In this example, WordPress is linked with MySql in order to deploy WordPress with the DB backend.

Linking examples

Container management

The Items tab in vRA provides the Day 2 actions to support the deployment of any containers from the self-service catalog, however there might be a need by a Container Admin to review logs and system performance. All deployments through vRA are tracked under the Applications and Containers sections.

Application View

Application Details

Shows current logs, performance and links to ports in use (for quick access to the running app)

Container Details

Finally, here’s a look at some templates pushed out to the catalog.

Templates pushed to catalog

Docker on Admiral alternatives

Running Docker on Photon OS with Admiral isn’t the only way to deliver containers in vRA 7.3. Administrators can also run CoreOS and supply vSphere Integrated Containers. Another option is to deploy products like Kubernetes and Docker Swarm using a multi-machine blueprint.

Alternatives to Docker on Admiral

Monitoring Docker with VMware vROps

By leveraging the Blue Medora management pack for Docker, administrators can monitor their Docker CE or EE hosts directly from vROps. Multiple dashboards and Docker-based report templates are included with the management pack that make it easy to get started with monitoring the overall health of the container hosts, Docker services and containers.