Do you want to learn more about automation, Ansible playbooks, or Ansible Tower but don't know where to start? I felt the exact same way and needed to find an easy yet powerful way to get started. This article is the first of a series of posts I will be sharing regarding automation, building Ansible Tower demos, and other related topics. Today I want to share with you my journey to building an Ansible Tower home lab, the struggles I experienced, what I learned, and how you can join the mission.
Ansible
I wanted to use an Ansible playbook to configure a localized lab in an easy manner. If you are not already familiar with how Ansible automation works, let me briefly explain the main pieces that make this such a powerful tool. Ansible engine allows you to run playbooks and execute the job on remote endpoints. The power of Ansible is that you don't need to install an agent on any of the endpoints, so you can technically automate anything on the network.
An Ansible playbook is very easy to understand, write, and deploy. A playbook is a file (such as file.yaml
) that contains a set of instructions that executes a job on the endpoint you want to configure. This playbook is written in YAML (yet another markup language), which is a human-readable language that is easy to learn and understand. When you run a playbook, it executes commands, actions, scripts, etc. on the endpoints you are targeting. It can also integrate with other languages. I will not spend too much time on this topic this time around, but maybe I'll expand more in another post.
As you probably already know, the open-source way is a fantastic strategy to build skills, shared knowledge, and learn from others. At Red Hat, we live and breathe these values through our open culture, and this open environment is how I was able to build my first GitHub project.
I learned from one of our Specialist Solutions Architects (shout out to my friend Jerry C) that you could build a lab using Vagrant. We then collaborated to create the initial lab configuration. I quickly realized that I needed to document this information and share it with the world. I think this is a great way to help others build their own environment for learning automation.
I also wanted to create a base infrastructure where I could run demos for different use cases. My dream is to build a collection of demos for Linux, Microsoft, networking, patching, and many other areas. The problem is that I know I can not do this on my own and need the open-source community to help me succeed.
The idea is that, with the base infrastructure created, you can explore, experiment, and create new demos. You can then share them and add them to the GitHub project.
The Ansible Tower Demo base lab
The GitHub project m1820/atd was created to provide a stable, permanent, and versatile environment that is easily deployed and configured. This lab allows you to run the provided sample demos, test, build, and share your playbooks - all on your own computer.
On the project's page, you can find step by step instructions on how to build your own lab using open-source software—starting with VirtualBox, Vagrant, and Ansible engine. I have also created a tutorial video that walks you through this installation and configuration.
Once you complete the initial setup, you have a working environment with an Ansible Tower server, plus two Fedora servers that could be used as web servers. Since you have access to all the source code, you can reconfigure the servers provided, choose a different OS, or make any modifications you see fit.
Wrap up and resources
I hope this post was helpful, and you feel compelled to check out the project. Hopefully, you'll join the mission to build more demos!
Here is the link to the project and to a video tutorial.
[ Need more on Ansible? Take a free technical overview course from Red Hat. Ansible Essentials: Simplicity in Automation Technical Overview ]
About the author
Christian Trujillo is passionate about open source, Red Hat, architecting solutions, and all things related to technology. He has been in the industry in different capacities for over 10 years and enjoys helping organizations digitally transform in a more agile way. He has architected many solutions where technology, people and process have allowed many companies to become digital leaders while collaborating and working better together amongst teams. Besides being passionate about IT he is also passionate about developing people and helping them have successful and rewarding careers. christiantrujillo.com
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit