Bookmark this page

Chapter 1.  Installing Red Hat Ansible Automation Platform

Abstract

Goal

Explain what Red Hat Ansible Automation Platform is and perform a basic installation of automation controller and private automation hub.

Objectives
  • Describe the architecture and use cases of Red Hat Ansible Automation Platform.

  • Install automation controller and private automation hub on individual servers.

  • Perform initial configuration of automation controller and private automation hub and explore the services' web UIs.

Sections
  • Explaining the Red Hat Ansible Automation Platform Architecture (and Quiz)

  • Installing Automation Controller and Private Automation Hub (and Guided Exercise)

  • Initial Configuration of Automation Controller and Private Automation Hub (and Guided Exercise) (and Quiz)

Explaining the Red Hat Ansible Automation Platform Architecture

Objectives

  • Describe the architecture and use cases of Red Hat Ansible Automation Platform.

Red Hat Ansible Automation Platform

Red Hat Ansible Automation Platform is the next evolution in automation from Red Hat. Featuring new tools, services, and capabilities that offer a whole new level of customization and control, it delivers an elevated automation experience that expands the boundaries of what is possible for your enterprise.

Ansible Automation Platform can help you to:

  • Accelerate business outcomes.

  • Orchestrate across teams.

  • Innovate at scale.

Red Hat Ansible Automation Platform Components

Ansible Automation Platform includes various distinct components that together provide a complete and integrated set of automation tools and resources.

Ansible Core

Ansible Core provides the functions used to run Ansible Playbooks.

Figure 1.1: Components of Ansible core
CLI

This includes ansible, ansible-playbook, ansible-doc and numerous other command-line utilities for driving and interacting with automation.

Language

Ansible uses YAML to create a compact but powerful set of rules for developing Ansible Playbooks.

Framework

Core functionality can be extended by installing Ansible content collections from either automation hub or Ansible Galaxy.

Functions

This includes conditionals, blocks, includes, loops and other Ansible imperatives.

Ansible Content Collections

Historically, Ansible provided a large number of modules as part of the core package; an approach referred to in the Ansible community as "batteries included". However, with the success and rapid growth of Ansible, the number of modules included with Ansible grew exponentially. This led to certain challenges with support, especially because users sometimes wanted to use earlier or later versions of modules than were packaged with a particular version of Ansible.

The upstream developers decided to reorganize most modules into separate Ansible Content Collections made up of related modules, roles, and plug-ins that are supported by the same group of developers. Ansible Core contains a small set of modules provided by the ansible.builtin Ansible Content Collection, which is always part of Ansible Core.

This provides users with the flexibility to select different versions of collections, or different sets of collections, based on their needs. It also provides developers with the ability to update their modules on a separate cadence from Ansible itself.

Red Hat Ansible Certified Content Collections are content collections that are officially supported by Red Hat and its partners through Ansible Automation Platform.

Automation Content Navigator

Ansible Automation Platform provides a new top-level tool to develop and test Ansible Playbooks, the automation content navigator (ansible-navigator). This tool provides the functions of several earlier command-line utilities, including ansible-playbook, ansible-inventory, and ansible-config.

In addition, it separates the control node on which you run Ansible from the automation execution environment that runs it, by running your playbooks in a container. This makes it easier for you to provide a complete working environment for your automation code for deployment to production.

Automation Execution Environments

An automation execution environment is a container image that contains Ansible Core, Ansible Content Collections, and any Python libraries, executables, or other dependencies needed to run your playbook.

Figure 1.2: Parts of an automation execution environment

When you run a playbook with ansible-navigator, you can select an automation execution environment for it to use to run that playbook. When your code is working, you can provide the playbook and the automation execution environment to automation controller (formerly called Red Hat Ansible Tower) and know that automation controller has everything it needs to correctly run your playbook.

The default environment used in Ansible Automation Platform provides Ansible Core and many Red Hat Ansible Certified Content Collections to give you a user experience similar to Ansible 2.9.

Another advantage of automation execution environments is that you can use them to run earlier versions of Ansible as well. Red Hat also supports an automation execution environment that provides Ansible 2.9 for compatibility with earlier versions.

Alternatively, you can use a new tool provided with Ansible Automation Platform called ansible-builder to create your own custom execution environments.

Figure 1.3: Adapting automation execution environments to your needs

Automation Controller

Ansible Automation Platform includes the automation controller as a core component, allowing users to define, operate, scale, and delegate automation across their enterprise.

Automation controller is the control plane for automation and includes a user interface, browsable API, role-based access control, job scheduling, integrated notifications, graphical inventory management, CI/CD integration, and workflow visualizer functions.

Automation controller enables you to manage inventories, launch and schedule workflows, track changes, and integrate into reporting, all from a centralized user interface and REST API.

Figure 1.4: Components of automation controller

Automation Hub and Private Automation Hub

You can use https://console.redhat.com/ansible/automation-hub to manage and distribute automation content. Automation hub provides access to Red Hat Ansible Certified Content Collections. Although you can download and use Ansible content collections on your local machine, the ee-supported-rhel8 automation execution environment already includes many Ansible content collections.

You can also set up a private automation hub. This enables you to create your own curated set of Ansible Content Collections. It also provides a container registry that you can use for distributing your automation execution environments, if you do not already have one.

Private automation hub provides a centralized place for automation controller and developers in your organization to get and use automation content.

Red Hat Insights for Red Hat Ansible Automation Platform

In addition to the hosted Ansible automation hub at https://console.redhat.com, other hosted services are available.

Red Hat Insights for Red Hat Ansible Automation Platform and automation analytics can help you understand what automation code you are running and whether it is successful. Red Hat Insights can help you identify issues with your managed hosts and generate Ansible Playbooks to remediate those issues. Automation analytics can help you evaluate the positive impact of automation on your organization, by reporting metrics on your use of automation and helping you estimate cost and time savings due to your automation implementation.

Why Use Ansible Automation Platform?

When implementing automation across the enterprise, IT organizations need:

  • A standardized way of defining automation workflows into other tools and processes.

  • Reliable and scalable automation execution.

  • A centralized system that enables auditing.

IT organizations go through three stages of the automation adoption journey: create, manage, and scale. They start by creating the content and progress to centrally managing their content. Ultimately they increase the scale of their automation.

Ansible Automation Platform fulfills these needs and helps IT organizations at every stage of this journey.

Create

Ansible Automation Platform provides certified content, collaboration-ready tools, and multidomain support to help enterprises create and design their automation. The benefits include:

  • Providing more than 100 Red Hat Certified Ansible Content Collections maintained by Red Hat and Red Hat Technology Partners.

  • Supporting automation execution environments that teams can use to write specific automation.

  • Automating use cases for infrastructure, networks, security, DevOps, cloud, and Edge computing.

Manage

Ansible Automation Platform provides tools and features such as single subscription, automation controller, and private automation hub to deploy automation quickly and reliably.

  • A single subscription includes everything needed to manage and scale automation, based on stable enterprise code and Red Hat security hardening.

  • Automation controller provides various features, such as centralized management, a dashboard, reporting, and logging to facilitate easier automation management.

  • Automation hub can host the automation code using collections and execution environments, and provide it to the automation controller.

  • An Ansible Automation Platform includes support for platform components and ecosystem integrations with access to Red Hat SMEs, training and professional services as a single source of accountability for broad Red Hat customers.

Scale

You can expand your Ansible Automation Platform by scaling up some of the components, such as automation controller, private automation hub, and automation mesh.

  • Flexibility to automate across technology silos, domain-specific tools, geographically distributed deployments, and end-to-end processes.

  • Provide automation content and integrations to support deployments across hybrid cloud deployments, including OpenShift, Red Hat Enterprise Linux, and more.

Revision: do467-2.2-08877c1