This blog is an exploration of the Ansible Tower interface, but before I dive in, let's begin with an overview of what Ansible is.
Ansible is a software provisioning, configuration management, and application deployments tool that is also open-source from Red Hat. Ansible assists IT with the major challenge of enabling continuous deployment (CI/CD) with no downtime.
With Ansible IT organizations can automate the provisioning of applications, manage systems, and reduce the complexities that come with trying to automate IT. With Ansible we can break down silos and create a culture around automation. My thought has always been that if you need to preform a task more than once then it should be automated.
Ansible integrates with the technologies you have already made investments within your organization, from infrastructure, to networks, security, cloud, containers, and applications. We all have infrastructure whether it be physical bare metal environments like networking with Cisco, Juniper, and Arista, to storage with products like Net App, and Pure Storage.
Virtual infrastructure with VMware is also supported along with Red Hat Virtualization(RHV), and Xenserver. Through Ansible organization can easily provision, destroy, take inventory, and manage across all virtual environments.
Regardless of of platform, Ansible can help organizations with managing the installation of software, system updates, configuration, and managing system features.
Ansible Tower brings a web-based UI to Ansible which makes it a little easier for IT to perform the above mentioned tasks. Ansible Tower is the hub, of sorts, that gives IT a role-based access control, including control over the use of securely stored credentials for SSH and other services.
Let's take a few minutes to look at the Ansible Tower interface.
Ansible Tower Interface
On the left hand side of the Dashboard, you can see the resources menu and the objects that you can create.
Let us dive a little more into each section beginning with Credentials. In this section, you create a credential that Ansible can use to authenticate to the target hosts.
From the resources section of the menu:
The following fields are available:
Fill out the fields that correspond to the credentials you are creating and then click on save.
In my example above, I am creating a machine credential type but there are many to choose from.
The following credential types are supported with Ansible Tower:
Let's shift and discuss projects.
What is a project? A logical collection of Ansible Playbooks represented in Ansible Tower. Playbooks a and playbook directories are managed by placing them manually under the project base path on your Tower serer or by placing your playbooks into a source code management system (SCM) supported by Ansible Tower such as Git.
To work with projects:
Note: If you choose Update Revision on Launch then you will be prompted for Cache Timeout.
An inventory is a collection of hosts which jobs may be launched against. Inventory lists may be sorted by Name, Type, or Organization. They are divided into groups which may contain actual hosts.
To create an inventory:
For more on Inventories see the Ansible Documentation.
Templates are a set of parameters for running an Ansible job. Job templates execute the same job many times.
To create a job template:
We have just scratched the surface to Ansible Tower with a quick look at the UI and some of the options available to IT organizations.