LovePhy - stock.adobe.com
Hewlett Packard Enterprise offers a Reference Configuration for implementing a Docker Containers as a Service built on the HPE Synergy composable infrastructure platform. The Reference Configuration provides a complete approach for architecting and provisioning the Docker CaaS environment using Ansible playbooks and other scripts.
HPE recommends the Reference Configuration for organizations migrating legacy applications to containers, moving to a container-based DevOps model or implementing a hybrid environment that supports containerized and non-containerized applications on a common virtualization platform.
The HPE Reference Configuration
The HPE Reference Configuration for Docker Containers as a Service on HPE Synergy composable infrastructure includes the components necessary to deploy a complete CaaS platform as quickly and efficiently as possible. According to HPE, the Reference Configuration "delivers one-click deployment for a complete private cloud, including compute, network and storage resources."
Built on Synergy and 3PAR storage hardware, the platform incorporates VMware, Ansible and Docker technologies to provide a secure and highly available CaaS environment that supports both Linux and Windows containers. The Reference Configuration breaks the deployment process into six basic steps:
- Deploy the Synergy composable infrastructure.
- Deploy VMware vSphere.
- Prepare the virtual machine (VM) templates.
- Create the Ansible host.
- Configure the Ansible parameters.
- Run the Ansible playbooks.
The Reference Configuration leaves it up to administrators to carry out the first two steps, focusing primarily on the last four.
The HPE Synergy platform
The Synergy composable infrastructure provides the compute, storage and network resources needed to support applications running on bare metal or in VMs and containers. The platform composes these resources into fluid resource pools that can be configured on-demand to accommodate fluctuating and varying workloads.
The Synergy infrastructure for Docker Containers as a Service consists of several types of physical components, starting with the Synergy frame, which serves as the infrastructure's foundation. The frame provides a unified structure for housing the individual compute, storage and network modules that deliver the physical resources.
The compute modules deliver the processing and memory capabilities needed to run the applications and the storage modules supply the necessary storage capacity. The network modules are part of the infrastructure's fabric, which includes adapters and switches. The infrastructure supports Fibre Channel and Fibre Channel over Ethernet, as well as flat SAN connectivity. HPE offers physical resource options to accommodate an organization's specific requirements.
The Synergy infrastructure also includes the Synergy Composer management appliance, which provides a single interface for managing the compute, storage and network resources, and logically composes them into fluid resource pools. The composer assembles and re-assembles the resources into the configuration necessary to meet the needs of changing application requirements.
The Synergy infrastructure for Docker Containers as a Service also provides the Image Streamer management appliance for provisioning the compute modules with bootable images based on a golden image. In this way, administrators can manage the physical servers much as they would VMs, making it easier to deploy and update the compute modules. In addition, the infrastructure comes with HPE Recovery Manager Central for replicating data from the 3PAR storage nodes to HPE StoreOnce to provide disaster recovery for the Docker control plane and registry.
The Docker Containers as a Service software
The Docker CaaS is built on a vSphere virtualization platform implemented on the Synergy infrastructure. Each ESXi host must be configured with the vSphere Docker Volume Service driver to enable stateful containers to access the storage volumes. All other software related to the Docker Containers as a Service is distributed across the infrastructure within the vSphere VMs.
One of the most important software components of the Docker CaaS platform is Ansible, an open-source automation engine for provisioning software, deploying applications and managing configurations. The Ansible environment requires a controlling machine that orchestrates the participating nodes, which in this case are the Linux and Windows VMs. The VMs are configured with Ansible modules that communicate with the controlling machine to facilitate the automation process.
HPE provides Ansible playbooks for deploying CaaS to the virtualization environment on the Synergy infrastructure. You can download the playbooks from GitHub, where you can also find other scripts and useful information for deploying Docker Containers as a Service. However, before running any of the playbooks, you must prepare the VM templates, create the Ansible host and configure the Ansible parameters, as described in the Reference Configuration.
Playbooks provide a simple way to use Ansible for configuration management and multimachine deployment. They are written according to the YAML standard, a human friendly data serialization syntax that stands for YAML Ain't Markup Language. The playbooks are available as .yml files that can declare configurations, orchestrate tasks across multiple machines (synchronously or asynchronously) and call other playbooks, which perform their own tasks. Each task is essentially a call to an Ansible module running on a VM.
The Reference Configuration supports two basic types of CaaS configurations: Linux-only or mixed (Linux and Windows). The entry point for the Linux-only configuration is the site.yml playbook, and the entry point for the mixed configuration is the hybrid.yml playbook.
The site.yml playbook carries out a number of important tasks. For example, it configures network settings, resizes logical volumes, creates Linux-based VMs based on the Linux VM template and installs the HAProxy package in the load balancer nodes. The hybrid.yml playbook performs the same tasks as those in the site.yml playbook, but it also adds tasks specific to Windows.
One of the most important tasks the playbooks perform is to install Docker Enterprise Edition (Docker EE) and all its dependencies. Docker EE integrates management for all application resources, using either Docker Swarm or Kubernetes for container orchestration. The Docker configuration supports two types of nodes: managers and workers. The manager nodes host the Docker system and load balancing components and the worker nodes host the containerized applications on either Linux or Windows.
The Docker Containers as a Service platform on Synergy
There is, of course, much more to the Reference Configuration than described here, and organizations that want to implement a CaaS platform should be sure to check out the documentation and the GitHub site. Be aware that the cost of the Synergy infrastructure isn't the only issue. There's also the licensing fees that come with Docker EE, HPE Recovery Manager Central, HPE StoreOnce, Red Hat Linux, Splunk, Sysdig, VMware and Windows. Although some of these components are optional, most are not, and total costs can add up quickly. Whether the resource savings are enough to offset these costs depends on your organization's application requirements.