
Learn to master Ansible UX, the web-based interface for managing Ansible automation, by setting up blocks to create playbooks, managing inventories, and running jobs.
Compare Ansible UX and Ansible Tower to decide when to use each; UX is the open source web interface for automation, Tower offers official support, security tools, and advanced reporting.
Explore the similarities between Ansible and Ansible Tower, focusing on automation management through a web interface, job scheduling, and roles-based permissions with an API for integrations.
Compare Ansible AWX, an open-source, free option, with Ansible Tower to understand cost, licensing, and support, and explore features like clustering, LDAP, SAML, and audit logging.
Install and configure Ansible AWX on Ubuntu, set up Docker and Minikube with kubectl for AWS, deploy Ansible X via the x operator, and access the Ansible X dashboard.
Set up a three-VM Ansible AWS environment in VirtualBox, with Ubuntu 24.04 server and two clients (Ubuntu and CentOS), enable SSH between them, and create sudo users on all machines.
Set up an Ansible AWX VM with Oracle VirtualBox on Windows by creating an Ubuntu 64-bit template, allocating 4 GB RAM, 2 CPUs, 25 GB disk, and bridged networking.
Install ubuntu 24.04 on Oracle VM through interactive setup, configure language and keyboard, erase disk, create a user account in Asia Kolkata, install default software, reboot, and remove the ISO.
Update the Ubuntu VM and install and start the OpenSSH server for remote access, using a sudo-enabled user, preparing for the next installation steps in the Ansible AWX course.
Access a VM using MobaXterm by opening an SSH session with the VM IP 192.168.1.15, a user with sudo privileges, then prepare to create two more VMs for client machines.
Install docker on ubuntu in a vm, configure docker group, and verify with a hello-world test. This prepares the system for minikube, CTL command line tool, and deploying Ansible ECS.
Install and configure minikube on ubuntu. Run a single node Kubernetes cluster locally by updating the system, installing dependencies, downloading the minikube binary with curl, installing kubectl, and verifying versions.
Install the kubectl command-line tool, set executable permissions, and move the binary to /usr/local/bin; verify the installation with kubectl version -o yaml, then start the minikube cluster.
Initialize a Minikube cluster with the Docker driver, set two CPUs and 3.9 GB memory, start the cluster, and verify status with docker stats and kubectl, prepping for Ansible deployment.
Install Ansible AWX using the AWS operator on a minikube single-node cluster with Docker as the driver and ingress enabled, then verify pods.
Deploy Ansible AWX via the operator by cloning the AWX operator, checking out the latest 2.19.1, setting a namespace, deploying, and monitoring the Ansible dash AWS namespace pods.
Copy the AWS demo YAML as awx-ubuntu.yml, deploy an AWS instance on an ubuntu-based minikube cluster, and monitor pods, services, and logs within the Ansible AWS namespace.
Access the AWS dashboard from the Ubuntu system using the given IP and port 31490, then learn to access it from outside by adjusting the port and command.
Access the AWX dashboard from outside the Ubuntu system, retrieve the default admin password, log in, and update the password.
Navigate the Ansible AWX dashboard to monitor jobs, projects, inventories, and hosts, and use tabs like dashboard, jobs, schedules, activity stream, and workflow approvals to manage automation.
Explore the resources tab of the Ansible AWX dashboard, including templates, credentials, projects, inventories, and hosts, and how they define where jobs run and display host status.
Explore the access section of Ansible AWX—organizations, users, and teams—and review administration tools, including credential types, notifications, jobs, instance groups, and settings.
Provision two client machines (Ubuntu and CentOS), create a user with sudo privileges, enable ssh, and set up key-based authentication for AWX client integration.
Generate RSA keys with ssh keygen -t rsa, then copy the public key to each client using ssh-copy-id to enable passwordless authentication from the AWS server.
Learn to set up an Ansible AWX lab by creating an organization in AWS, assigning a project, configuring credentials, building inventory, testing connectivity via ping, and running a job template.
Learn to create an organization in the aws awx interface, name and describe it, and note that organizations group users, inventories, and projects with a container image execution environment.
Create a project in AWX, assign it to the Tech Start organization, and configure an execution environment and a source control type (manual, git, subversion) with a playbooks directory.
Troubleshoot a project creation warning by using kubectl to access awx pod, inspect automation and projects directories, create automation folder for playbooks, and configure credentials for manual or git repo.
Create credentials in AWX, including a private key, for a machine credential used by S Verma. Prepare inventories and enable SSH-based playbook execution on client machines.
Create an inventory in awx, add two hosts with ip addresses, and verify connectivity using the ping module, illustrating inventories that group servers for testing and production.
Run a ping connectivity test from an AWS server to two inventory hosts using Ansible AWX, with credentials, launching the job, and confirming both hosts succeed.
Launch a run command in Ansible AWX to check the os version on two hosts using cat /etc/os-release, with privilege escalation via sudo and view outputs from both servers.
Discover how AWX templates act as blueprints to execute playbooks by bundling inventories, credentials, and other parameters into a single job template with run or check modes.
Log into task and web pods, ensure the automation directory exists, copy a simple ansible playbook to both pods, and prepare to execute it on client machines.
Create a job template in Ansible AWX by naming, describing, selecting inventory and project, attaching a playbook, configuring credentials and privilege escalation, saving, and preparing to launch the template.
Launch a template in Ansible AWX to run a playbook across servers, observe the job progress, and learn how templates enable reusability, consistency, and customization with surveys and extra variables.
Explore a cross-platform Ansible playbook that installs, starts, and enables nginx on Debian-based and Red Hat-based systems, using gathered facts and operating system family conditionals.
Copy the nginx playbook into the automation directory inside the ansible-wx pod, then create a new AWX project and set its playbook directory.
Copy the playbook into the automation directory inside the target pods using kubectl copy, then create a new AWX template to reflect the project.
Create a new nginx installation job template in Ansible AWX, select an inventory with Ubuntu and CentOS hosts, apply the project and credentials, enable privilege escalation, and execute the template.
Execute the run job template to install nginx on Ubuntu and CentOS clients, verify nginx status with systemctl, and confirm the playbook completed successfully.
Learn how AWX integrates with git to fetch Ansible playbooks and inventory, then connects to ubuntu and CentOS targets via SSH to execute tasks that configure systems.
Learn how to create an Ansible AWX project using git as the source control, connect a GitHub repository with playbooks and an inventory, and verify the job fetch is successful.
Learn how to create a git-backed project in Ansible AWX, enable update revision on launch, and set up a git-sourced inventory with an inventory file, then sync hosts from repository.
Import hosts from the git-based inventory and verify success by viewing host names and ip addresses in the inventory. Then create a template by selecting the proper project and inventory.
Create a new job template in Ansible AWX by selecting inventory, project, and playbooks from GitHub, attach credentials, and save to reuse a premade blueprint for tasks and servers.
Launch the template to create a job that runs the playbook across the inventory. Track the pending status, view the output, and verify successful execution across Ubuntu and CentOS.
Learn to run another playbook with the same AWX template by editing the template's playbook tab, selecting the desired yml, saving, and launching a job from a GitHub repository.
Sync the git repository with the AWX project either manually or on a schedule, then edit the template to reflect the new playbook and launch.
Learn how to schedule an Ansible AWX project to automatically synchronize new playbooks from GitHub, avoiding manual syncing by configuring time, frequency, and exceptions.
Launch the template to execute a playbook via awx, install nginx on two client machines with privilege escalation, gather facts, and verify the nginx service.
Define role-based access control in AWX to manage user permissions and assign roles like system administrator, normal user, or system auditor, and control access to inventories, job templates, and playbooks.
Explore the user types in Ansible AWX, including system administrator, system auditor, and normal user, and clarify their read-only and privileged access within the Ansible UX.
Explore how organizations group teams, projects, and inventories in AWX, and how new users inherit roles from their organization, with admin, auditor, member, and read permissions.
Create a normal user in the AWX interface and assign them to an organization. Show that normal users have limited access, and auditors have read-only permissions.
Learn how to create a system auditor user in Ansible AWX, granting read-only access to resources and allowing view of jobs templates, with no editing permissions.
Create a system administrator user with full privileges in the AWX interface, then manage jobs and templates, and review organization roles like member, system auditor, and system administrator.
Learn how to grant executable and read permissions to a normal user for specific templates in Ansible AWX, then verify access by logging in as that user.
Grant a specific inventory admin rights to a read-only user in Ansible AWX, enabling edits and host management for that inventory.
Create and manage teams in Ansible UX to simplify permission management with RBAC, then add users and apply inherited permissions (admin, read, executable) to inventories and templates.
Add users to the developer team, grant admin privileges for that team, and assign roles like job templates to give admin access to templates.
Explore configuring team memberships in Ansible AWX to grant admin and template permissions, showing how developer team membership expands access to templates and dashboard features.
Assign roles to a team in Ansible AWX to grant read access to selected inventories, and verify that both users can view two inventories while others have no access.
Conclude the Ansible AWX: Simplifying Automation and IT Management course by reflecting on the last lecture, and reach out via the forum for any questions.
Ansible AWX is the free, open-source version of Ansible Tower. It helps automate IT tasks like managing servers and deploying software through a web interface. AWX offers features like job scheduling, role-based access, and tracking results. It's ideal for small teams or projects, providing an easy way to manage automation without extra costs.
Introduction
An Overview of Ansible AWX/Tower.
Features of Ansible AWX.
Features of Ansible Tower.
Similarities Between Ansible AWX and Ansible Tower.
Key Differences Between Ansible AWX and Ansible Tower.
When to Use Ansible AWX vs. Ansible Tower.
VM Setup for Ansible AWX Installation
Ansible AWX Installation: A Comprehensive Overview
Ansible AWX Setup
Ansible AWX VM Setup with Oracle VM
Ubuntu 24.04 Installation on Oracle VM
Update and Configure the VM
Access VMs Using MobaXterm
Installation of Ansible AWX
Set Up Docker on Ubuntu
Install and Configure Minikube Cluster on Ubuntu
Install Kubectl Command-Line Tool
Initialize the Minikube Cluster
Configure the Minikube Cluster
Deploy Ansible AWX via Operator
Create a awx-ubuntu.yml file
Access the Dashboard from the Ubuntu System
Access the Dashboard from Outside the Ubuntu System
Ansible AWX Dashboard: Introduction and Overview
Navigating the Ansible AWX Dashboard
Ansible AWX Dashboard: Key Features and Functionality
Ansible AWX Dashboard: Access Section
Client Setup for Ansible AWX: A Step-by-Step Guide
SSH and User Setup for AWX Client Integration
Passwordless Authentication for AWX-Client Integration
Ansible AWX: Organization, Project Setup, and Troubleshooting Lab
Lab Session Overview: Key Concepts and Practical Exercises
Create Organization in AWX
Create a Project
Troubleshooting Project Creation Warning
Set Up Credentials
Create an Inventory
Run Command - Test Ping Connectivity
Run Command - Check OS Version
Ansible AWX Templates
Introduction to AWX Templates: Key Concepts and Usage
Create and Place Ansible Playbook in Directory
Create Job Template: MyFirstJobTemplate
Launch the Template
Cross-Platform Nginx Package Installation with Ansible AWX
Overview of Playbook for Nginx Installation
Create a new Playbook Directory
Copy Ansible Playbook to Playbook Directory
Create New Job Template
Run Job Template and Verify Nginx on Clients
Ansible AWX Integration with Git
AWX and Git Integration: A Complete Overview
Create a Project Using Git as Source Control
Create a new Inventory
Add Hosts to Inventory Using a Git Repository
Create New Job Template
Launch the Template
Run Another Playbook with the Same Job Template
Sync a Git Repository from Your Project
Add and Configure Schedules in Your Project
Execute a Playbook via AWX
Role-Based Access Control (RBAC)
How RBAC Works in AWX: An Overview
Different User Types in AWX
Organizations in AWX: Key Functions and Roles
Create a Normal User
Create a System Auditor User
Create a System Administrator User
Add Permissions to access Job Template
Add Permissions to access Inventory
Create New Team
Manage Teams: Adding Users to a Team in AWX
Configuring Team Memberships
Assign Roles to Teams
Last lecture