ansible share image

In this article, you will learn how to use Red Hat Ansible Automation Platform from the Google Cloud Platform (GCP) Marketplace to automatically provision GCP resources.

Overview of Ansible Automation Platform on GCP

Red Hat Ansible Automation Platform is available on the Google Cloud Platform (GCP) Marketplace as a self-managed offering that enables enterprise-wide automation with the benefits of Ansible Automation Platform deployed on GCP cloud. This offering integrates seamlessly with native GCP APIs and the full Ansible collection for GCP, co-developed and security-tested by Google and Red Hat.

By combining the power of Red Hat Enterprise Linux, Red Hat OpenShift, and GCP tools, developers can effectively scale their cloud infrastructure and leverage technologies like containers, Kubernetes, and hybrid cloud architecture. The collaboration between Red Hat and GCP offers a hybrid cloud environment that simplifies IT management, reduces complexity, and streamlines innovation.

4 components of Ansible Automation Platform

You can obtain the Ansible Automation Platform self-managed offering from GCP. Once you have the subscription, refer to the comprehensive documentation guide to set up and configure your Ansible Automation Platform on GCP.

1. Execution environment

Ansible Playbooks run on the execution environment platform. It includes everything needed to run the Ansible Automation Platform, including the runtime environment and dependencies. The Ansible Automation Platform provides a default execution environment that includes many commonly used modules and plug-ins.

However, you can also create custom execution environments tailored to your specific needs (Figure 1). This allows you to include only the modules and plug-ins required for your use case, reducing the size of the environment and minimizing security risks. You can manage the execution environment through the Ansible Automation Platform web console or the execution environment builder.

Figure 1: The Execution Environment page.
Figure 1: The execution environment page of Ansible Automation Platform.

To learn more about the execution environment and execution environment builder, refer to the documentation.

2. Inventories

An inventory is a collection of hosts and groups managed and orchestrated by Ansible Automation Platform. It is used to define and organize the hosts and groups, targeted during an automation job. An inventory can be a static file, a dynamic inventory script, or an inventory plug-in.

  • A static inventory file is a simple text file that lists the hosts and their attributes.
  • A dynamic inventory script retrieves the inventory information from a third-party system or cloud provider in real time.
  • Inventory plug-ins provided for specific platforms, such as GCP, Amazon Web Services (AWS) and Microsoft Azure.

In addition to hosts and groups, an inventory can also contain variables that are specific to a host or group. These variables can be used to customize how Ansible interacts with each host or group during a job.

As shown in Figure 2, inventories can be created, imported, and synchronized from external sources, such as cloud providers and configuration management databases (CMDBs). To learn more about inventories and how to create, manage, and work with them, refer to the official documentation.

The Inventory page in Ansible Automation Platform.
Figure 2: The Inventory page in Ansible Automation Platform.
Figure 2: The Inventory Page

To learn more about Inventories and how to create, manage and work with them, refer to the official documentation.

3. Credentials

In the credentials section of Ansible Automation Platform, you can manage and store sensitive information, such as usernames, passwords, and private keys. These credentials can be used in your playbooks and roles to authenticate with remote hosts, cloud providers, Kubernetes and OpenShift clusters, and other systems.

You can create a variety of credential types (Figure 3), such as SSH, sudo, GCP access keys, tokens, certificates, endpoints, and more. These credentials can be associated with a specific organization, project, or even a specific playbook or role. By using the credential section, you can centrally manage and secure your sensitive data, making it easier to rotate or revoke credentials as needed.

To learn more about using credentials in Ansible Automation Platform, refer to the official documentation.

Figure 3: The Credentials Page
Figure 3: The Credentials Page

4. Projects

In the projects section of Ansible Automation Platform, you can manage your automation content, including playbooks, roles, collections, modules, and plug-ins. A project is a collection of related content, such as all the playbooks, roles, and other files that are related to a specific task or application.

Projects can be created and managed through the Ansible Automation Platform web UI (Figure 4) or by utilizing the AWX CLI tool. They can be associated with a source control repository, such as Git or SVN, for version control and collaborative development.

Once you have a project set up, you can easily manage and organize your automation content, collaborate with other users, and ensure that your automation runs consistently across your infrastructure. You can also use projects to deploy automation content to remote servers, such as virtual machines or containers, for testing and production use.

For more information on managing projects in Ansible Automation Platform, you can refer to the user guide.

Figure 4: Project Source Control Page
Figure 3: Configuring the project source control.
Figure 4: Project Source Control Page

Job and workflow templates

Job templates and workflow templates are powerful features of the Ansible Automation Platform that enable IT teams to automate and orchestrate their infrastructure management tasks.

A job template is a predefined set of tasks that can be executed on one or more hosts, making it a powerful tool for automating repetitive tasks, such as software installations or configuration changes. With job templates, we can define the tasks to be executed, the hosts on which they should run, and any required input parameters, all through an intuitive user interface.

On the other hand, workflow templates allow you to chain together multiple job templates to create a more complex process or workflow. With workflow templates, you can automate even the most complex tasks, such as deploying a multi-tiered application with multiple components and dependencies.

Together, job and workflow templates provide a comprehensive automation solution that streamlines IT operations and ensures that your infrastructure is configured and maintained consistently and efficiently.

More resources

To learn about using job templates to create Google Cloud Platform (GCP) instances with Ansible Automation Platform, check out our article, How to create a GCP instance using Ansible Automation. For information on creating instances using workflow templates, read our article, How to create a GCP instance via workflow and Ansible.

If you are looking to understand automation more in-depth, you can refer to the IT executive's guide to automation ebook, which provides a comprehensive overview of automation and its impact on businesses. If you're new to Ansible Automation Platform, you can download it and get started by exploring interactive labs at no cost.

Last updated: January 11, 2024