Skip to content

Leo Dutra – Tech Blog

Menu
  • Home
  • HOME LAB
  • VMWARE
  • KUBERNETES
  • ABOUT
  • PRIVACY POLICY
Menu

Install AWX on Ubuntu 24

Posted on November 6, 2024November 7, 2024 by leonardompdutra

AWX is an open-source alternative to Red Hat Tower (Ansible Automation Platform). I’ve used both pretty extensively in the past, and since AWX is essentially free, I’ll be covering that product in the next few blogs.

AWX is very useful for automating application creation for load balancers. There are a few components that will be needed to automate app deployment, but this is definitely the first step. I’m going to publish a few blogs about automated app deployments using AWX and Avi.

Table of Contents

  • Software Versions used in this demo
  • Deploy Ubuntu VM
  • Install Ubuntu from ISO
  • Install AWX on Ubuntu 24

Software Versions used in this demo

SoftwareVersion
OSUbuntu 24.04 LTS
AWX24.3.1
VMware vCenter8.0.2

Deploy Ubuntu VM

In order to install AWX, we need to deploy a VM. We’ll be using the latest stable release for Ubuntu, which at the time of writing is Ubuntu 24.04. Navigate to ubuntu’s website and download the ISO.

In vCenter, navigate to the Content Libraries and create a new content library, if you don’t already have one.

Upload the ubuntu iso file to the content library.

As the ubuntu iso is uploading to the content library, go ahead and deploy a new VM with the above specs.

  • CPU: 2
  • Memory: 4GB
  • Disk: 20GB (20GB minimum, I would recommend 50GB)
  • Network Adapter: a routable network, in my case VM Network.

– Disk Size –

When the VM is ready come back and select the CD/DVD drive as the ubuntu iso file. Make sure to check Connect at Power On.

Power on the VM

Install Ubuntu from ISO

After Ubuntu loads, we need to install the OS to the disk.

Click the image of Ubuntu to launce the remote console.

Navigate through the install steps, I’m not going to cover these since there are 1000s of guides on this topic, and it’s rather straightforward.

Once you’ve installed the OS, use the UI interface to set a static IP address (or just use the dhcp address).
Additionally, you will need to run a few commands to update and enable ssh.

1 – apt update
2 – apt upgrade
3 – apt-get install open-vm-tools-desktop
4 – apt install git make -y
5 – apt install ssh
6 – sudo su -
7 – systemctl enable ssh

You should be able to ssh into the ubuntu machine.

Install AWX on Ubuntu 24

Now that the base Ubuntu OS is ready to go, we can install any required packages and deploy AWX. First we’re going to install docker and prepare the environment to run minikube. Minikube will be used to deploy awx. I’m more or less following this guide here: https://www.linuxtechi.com/install-ansible-awx-on-ubuntu/#google_vignette

The docker install detailed steps can be found here: https://docs.docker.com/engine/install/ubuntu/

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:

echo\

  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu\

  $(. /etc/os-release&& echo"$VERSION_CODENAME") stable" | \

  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Next we need to install minikube. Very simple, just a few commands.

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

sudo usermod -aG docker $USER && newgrp docker

minikube start –vm-driver=docker –addons=ingress

Next we need to install kubectl, to interact with the K8s cluster

sudo su

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Finally we can deploy the AWX container via awx-operator. Make sure you exit from su, and back into the ubuntu user.

1 – git clone https://github.com/ansible/awx-operator.git
2 – cd awx-operator/
3 – git checkout 2.16.1 # Or whatever the latest version
4 – export NAMESPACE=ansible-awx
5 – make deploy
6 – kubectl create -f awx-demo.yml -n ansible-awx

You can verify your pods and services as shown below.

kubectl get pods -n ansible-awx

kubectl get svc -n ansible-awx

Lastly we need to open up awx to connections from outside of the ubuntu server.

minikube service awx-demo-service –url -n ansible-awx

kubectl port-forward service/awx-demo-service -n ansible-awx --address 0.0.0.0 10445:80 &

Navigate to your browser on the IP address and port shown above: http://192.168.3.23:10445/#/login

You should see the above screen. the username is “admin” and to get your password, run the command below.

kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" -n ansible-awx | base64 --decode; echo

And that’s it.

AWX is up and running and ready to start automating jobs!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Social Media

  • LinkedIn

Recent Posts

  • Deploy Azure Kubernetes - Terraform
  • Microservices on AWS - ECS
  • Microservices on Google Cloud
  • Easy IoT data - Influxdb Telegraf Grafana
  • Install AWX on Ubuntu 24
  • How to Expand the Windows Partition

ABOUT

My name is Leonardo Dutra and I’m a Devops at Energisa.

With years of experience applying DevOps practices, CI/CD pipelines, and Infrastructure as Code (IaC), I have accelerated software delivery, minimized errors, and enhanced scalability, particularly through the use of containers and Kubernetes. My expertise also spans load balancing, automation, software development, and public cloud environments.

© 2025 Leo Dutra – Tech Blog | Powered by Minimalist Blog WordPress Theme