Build & Run Ansible Execution Environments Effectively
By Luca Berton · Published 2024-01-01 · Category: installation
Discover how to build and run Ansible Execution Environments using ansible-builder and ansible-runner tools. Simplify your automation setup with container technology.
How to build and Run an Ansible Execution Environment? Using an Ansible Execution Environment is the latest technology to maintain up-to-date Python dependency of the Ansible collections without interfering with your Linux system. It's the evolution of Python Virtual Environment. This initial configuration sometimes is a roadblock for some Ansible users. I'm Luca Berton and welcome to today's episode of Ansible Pilot.
Ansible Execution Environment • ansible-builder • ansible-runner
Let's talk about the Ansible Execution Environment. The Ansible Execution Environment is a container image that can be utilized as Ansible control nodes. It's the latest technology developed by Red Hat to simplify the automation process. The main advantage is a common environment for Development and Production images using container technology creating portable automation runtimes. This technology superseded manual Python Virtual Environments, Ansible module dependencies, and bubblewrap. Experienced users are probably familiar with a lot of challenges managing custom Python Virtual Environments and Ansible module dependencies. Enterprise users of Ansible Automation Platform were familiar limited to executing jobs under bubblewrap in order to isolate processes The creation is performed by the Ansible Builder tool. Ansible Builder produces a directory that acts as the build context for the container image build, containing the Containerfile, along with any other files that need to be added to the image. The execution is performed by the Ansible Runner tool. The Ansible Runner enables you to run the Execution Environment as a container in the current machine. It is basically taking care that the content runs as expected.
Links • https://www.ansible.com/products/execution-environments • https://www.redhat.com/en/technologies/management/ansible/automation-execution-environments • https://docs.ansible.com/automation-controller/latest/html/userguide/execution_environments.html
Playbook How to Build and Run a custom-built "my_ee" Ansible Execution Environment using ansible-builder and ansible-runner tools.
Demo Build Ansible Execution Environment
How to Build an Ansible Execution Environment using the ansible-builder tool. • name: my_ee • System (git) • Python (boto3) • Collection (community.aws)
How to Build an Ansible Execution Environment using ansible-builder tool. I'm going to show you how to Build a custom "my_ee" Ansible Execution Environment using the ansible-builder tool specifying some custom System, Python, and collection dependency. For example, let's build a custom Ansible Execution Environment named "my_ee" with System requirements git, Python libraries boto3 and Amazon Collection community.aws dependencies.
code • execution-environment.yml • requirements.yml • bindep.txt
execution
When the ansible-builder tool is not installed you should install it via DNF command using the ansible Automation Platform subscription::
The tool needs access to the Red Hat Container Registry available with your Red Hat Ansible Automation subscription (username and password of Red Hat Portal).
A successful build produces the following context/Containerfile:
Demo Run Ansible Execution Environment
How to Run an Ansible Execution Environment using ansible-runner tool. I'm going to show you how to Run the custom "my_ee" Ansible Execution Environment using ansible-runner tool.
code • ping.yml • inventory
execution
When the ansible-runner tool is not installed you should install it via DNF command using the ansible Automation Platform subscription::
Conclusion
Now you know how to Build and Run an Ansible Execution Environment using ansible-builder and ansible-runner tools.
Related Articles • Ansible Galaxy Guide • Ansible Docker Guide • Ansible Inventory Guide • Ansible AWS Guide • Ansible Roles Guide
Category: installation
Watch the video: Build & Run Ansible Execution Environments Effectively — Video Tutorial