Installing Containerized Ansible Automation Platform
Installing Containerized Ansible Automation Platform on RHEL 9 for Streamlined IT Automation.
The world of IT automation is rapidly evolving, and Red Hat is at the forefront with its containerized Ansible Automation Platform. In this guide, we will walk you through the containerized Ansible Automation Platform installation process on Red Hat Enterprise Linux 9 (RHEL 9). This innovation opens doors to a more streamlined and efficient management experience.
Why Containerized Ansible Automation Platform?
As the Ansible Automation Platform has grown in complexity with the addition of new services and components, managing it has become more challenging. The containerized Ansible Automation Platform represents a significant step towards improving this management experience. It simplifies installation, enhances security, and provides a launchpad for new features, all while reducing the platform’s footprint.
The containerized Ansible Automation Platform offers several advantages:
- Slimmed Down Installation: The installation process is simplified, making it more accessible to users.
- Layered Installation: This approach provides flexibility and customization options.
- Enhanced Security: The use of rootless Podman containers ensures security from the outset.
- Platform for Future Features: The containerized platform sets the stage for future enhancements.
- Lighter Footprint: It caters to various markets and solutions, ensuring optimal performance.
With this technical preview release, you gain access to exciting features such as:
- Applying Your License: Use the controller_license_file option to apply your Ansible Automation Platform license during installation.
- Pre-Seeding Configurations: Pre-seed automation controller configuration as code for greater flexibility.
Setting Up the Containerized Ansible Automation Platform
Let’s dive into the step-by-step installation process:
- Download and Unpack the Installation Bundle:
- Visit the Red Hat Network (RHN) portal and download the latest release of the installation bundle. Choose between ‘online’ (requires internet access) and ‘offline’ bundle options.
- Extract the installation files to a directory of your choice. It’s worth noting that the installation is now designed to run as a non-root user.
- Edit the Inventory File:
In the installation directory, you’ll find an inventory file that provides essential, optional, and recommended configurations. You can tailor these configurations to your needs. An example of the inventory file structure is provided for you to modify.
- Edit the inventory file and fill in the necessary variables, ensuring your configurations align with your specific requirements.
[automationcontroller] aap.example.com ansible_connection=local [automationhub] aap.example.com ansible_connection=local [automationeda] aap.example.com ansible_connection=local [database] aap.example.com ansible_connection=local [all:vars] postgresql_admin_username=postgres postgresql_admin_password=redhat registry_username=<YOUR-RHN-USERNAME> registry_password=<YOUR-RHN-PASSWORD> controller_admin_password=redhat controller_pg_host=aap.example.com controller_pg_password=redhat hub_admin_password=redhat hub_pg_host=aap.example.com hub_pg_password=redhat eda_admin_password=redhat eda_pg_host=aap.example.com eda_pg_password=redhat controller_main_url=https://aap.example.com
The Best Resources For Ansible
- CYBER DEALS at The Linux Foundation! Up to 65% off, and a FREE GIFT with EVERY PURCHASE! Limited Time, Don't Delay!
- Udemy: Learn Ansible Automation in 250+examples & practical lessons: Learn Ansible with some real-life examples of how to use the most common modules and Ansible Playbook
- Ansible by Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
- Ansible Cookbook: A Comprehensive Guide to Unleashing the Power of Ansible via Best Practices, Troubleshooting, and Linting Rules with Luca Berton
- Ansible For Windows By Examples: 50+ Automation Examples For Windows System Administrator And DevOps
- Ansible For Linux by Examples: 100+ Automation Examples For Linux System Administrator and DevOps
- Ansible Linux Filesystem By Examples: 40+ Automation Examples on Linux File and Directory Operation for Modern IT Infrastructure
- Ansible For Security by Examples: 100+ Automation Examples to Automate Security and Verify Compliance for IT Modern Infrastructure
- Ansible Tips and Tricks: 10+ Ansible Examples to Save Time and Automate More Tasks
- Ansible Linux Users & Groups By Examples: 20+ Automation Examples on Linux Users and Groups Operation for Modern IT Infrastructure
- Ansible For PostgreSQL by Examples: 10+ Examples To Automate Your PostgreSQL database
- Ansible For Amazon Web Services AWS By Examples: 10+ Examples To Automate Your AWS Modern Infrastructure
- Ansible Automation Platform By Example: A step-by-step guide for the most common user scenarios
- Set Environment Variables:
Define the ANSIBLE_COLLECTIONS_PATH environment variable to specify where the installer collections can be found. For example, supposing the aap directory inside the devops user:
$ export ANSIBLE_COLLECTIONS_PATH=/home/devops/aap/collections
- Run the Installer:
You’re now ready to initiate the installation process. Run the installer collections playbook with the following command:
$ ansible-playbook -i inventory ansible.containerized_installer.install
You can customize your installation using various options like
-v for increased verbosity or
-K to request a privilege escalation password. Refer to the ansible-playbook documentation for more options.
If you’ve separated your variable information into a separate file, you can use the following command:
$ ansible-playbook -i inventory -e @vars.yml ansible.containerized_installer.install [--ask-vault-pass] [-K] [-vvvv]
Accessing the Services
Upon successful installation, you can access the Ansible Automation Platform services via your web browser. By default, these services are available on specific ports:
- Automation Controller: Port 443
- Ansible Automation Hub: Port 444
- Event-Driven Ansible Controller: Port 445
Open your browser and enter https://aap.example.com:
Underneath the containerized Ansible Automation Platform, rely on Podman and some containers. We can list and analyze the containers using the following command:
$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 45079e0f8b65 registry.redhat.io/rhel8/redis-6:latest run-redis 3 days ago Up Less than a second redis 0e686ba496a7 registry.redhat.io/rhel8/postgresql-13:latest run-postgresql 37 minutes ago Up 35 minutes postgresql 631bd7c95a48 registry.redhat.io/ansible-automation-platform-24/ee-supported-rhel8:latest /usr/bin/receptor... 35 minutes ago Up 6 minutes receptor 7507d7732073 registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest /usr/bin/launch_a... 19 minutes ago Up 6 minutes automation-controller-rsyslog 6190a2861e06 registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest /usr/bin/launch_a... 8 minutes ago Up 6 minutes automation-controller-task 120a89253743 registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest /usr/bin/launch_a... 8 minutes ago Up 6 minutes automation-controller-web 06d289e13a85 registry.redhat.io/ansible-automation-platform-24/eda-controller-rhel8:latest gunicorn --bind 1... 6 minutes ago Up 3 minutes automation-eda-api 69734ae71fe8 registry.redhat.io/ansible-automation-platform-24/eda-controller-rhel8:latest daphne -b 127.0.0... 5 minutes ago Up 3 minutes automation-eda-daphne a9826b5bd8b1 registry.redhat.io/ansible-automation-platform-24/eda-controller-ui-rhel8:latest /bin/sh -c nginx ... 5 minutes ago Up 3 minutes automation-eda-web 6ae0cc6cff7f registry.redhat.io/ansible-automation-platform-24/eda-controller-rhel8:latest aap-eda-manage rq... 4 minutes ago Up 3 minutes automation-eda-worker-1 975c215f33af registry.redhat.io/ansible-automation-platform-24/eda-controller-rhel8:latest aap-eda-manage rq... 4 minutes ago Up 3 minutes automation-eda-worker-2 1463aefa60a1 registry.redhat.io/ansible-automation-platform-24/hub-rhel8:latest pulp-api 3 minutes ago Up About a minute automation-hub-api 4cde68f02d25 registry.redhat.io/ansible-automation-platform-24/hub-rhel8:latest pulp-content 2 minutes ago Up About a minute automation-hub-content f547ea12d7b2 registry.redhat.io/ansible-automation-platform-24/hub-web-rhel8:latest nginx -g daemon o... 2 minutes ago Up About a minute automation-hub-web a415d2b016f8 registry.redhat.io/ansible-automation-platform-24/hub-rhel8:latest pulp-worker 2 minutes ago Up About a minute automation-hub-worker-1 edc21a8710ce registry.redhat.io/ansible-automation-platform-24/hub-rhel8:latest pulp-worker 2 minutes ago Up About a minute automation-hub-worker-2
Pro Tip — Controller Post-Installation
Enabling the post-installation options is an important aspect of configuring the containerized Ansible Automation Platform. Users can take full advantage of these features by uncommenting and filling in the necessary variables. Let’s explore these options in more detail:
The controller_postinstall option allows you to trigger post-installation tasks. This can be beneficial for applying additional configurations or licenses after the initial setup. To enable this feature, uncomment the line:
Applying the Manifest License
controller_license_file option is crucial for applying the Ansible Automation Platform license. To use this feature, you need to specify the full path to your manifest .zip file. This is how you enable and configure it:
controller_license_file=<full path to your manifest .zip file>
<full path to your manifest .zip file> with the actual path to your license manifest file. This file typically contains information about your licensing agreement and permissions to use the Ansible Automation Platform.
controller_postinstall_dir option is used to specify the directory where the configuration files for the Ansible Automation Platform should be located. This allows you to manage your configurations as code, which can be particularly useful for version control and automation. To enable this feature, you can configure it as follows:
controller_postinstall_dir=<full path to your config-as-code directory>
<full path to your config-as-code directory> with the actual path where your configuration files are stored. This directory may contain various configuration files or scripts that define how the Ansible Automation Platform should behave.
By uncommenting and filling in these variables, users can take full advantage of post-installation customization and license management, enhancing the flexibility and capabilities of the containerized Ansible Automation Platform. These features provide the means to tailor the platform to specific needs and configurations, ensuring it aligns perfectly with your organization’s requirements.
The containerized Ansible Automation Platform on RHEL 9 marks a significant leap in IT automation. Red Hat’s commitment to streamlining and enhancing the platform’s management experience is evident in this technical preview. Users can look forward to a more user-friendly, secure, and flexible solution that caters to a variety of deployment scenarios.
The technical preview is available for download from the Red Hat Portal Downloads section, and comprehensive documentation is provided for a detailed installation walkthrough. As the future unfolds, Red Hat continues to innovate, with more exciting features and enhancements on the horizon. Stay tuned for further updates and enhancements to this powerful automation platform.Subscribe to the YouTube channel, Medium, Website, Twitter, and Substack to not miss the next episode of the Ansible Pilot.
Learn the Ansible automation technology with some real-life examples in my
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Want to keep this project going? Please donate