AWX UI exposure to the rest of the LAN

All,

I have deployed AWX using the new minikube process.

It has deployed, with a couple of retries, successfully on a Debian VM. I can access AWX UI via the

minikube service awx-service --url

CLI command. My requirement is to be able to access AWX UI from all my other devices on the LAN, ideally using the IP address of the host VM.

I am new at Kubernetes & minikube & the AWX installation guide does not provide those details. If there is a process I can follow to get the AWX UI exposed for other users to access, can it please be shared?

Thanks in advance.

did you specify the tower_ingress_type in your my-awx.yaml file? It normally would create an ingress. describe that ingress and it’ll tell you the local access IP.

We are running into the same issue…the problem is that the ingress IP, in our case, is 192.168.49.2, which is in a completely separate subnet than the IP address of the system on which we’re running AWX.

That IP address is only reachable from the local system.

What the OP and we are looking for is the correct methodology to expose the AWX GUI via the host system’s IP.

Hello

I asked this question yesterday.

gregorystorme@gmail.com suggested: “You can run a reverse proxy (haproxy, nginx) that listens on the IP/port of your host, and pass traffic to the k8s network”

Two years later, I’m having the same issue. I’ve followed the instructions at https://github.com/ansible/awx-operator/blob/devel/docs/installation/basic-install.md (including the steps in the demo), and have the AWX UI running locally on the AWX server’s graphic display, where I connect to it from a locally-run browser connection to TCP port 443.

But I can’t access this AWX server from other systems.

What network plumbing has to be added to allow external-to-system access to the AWX UI?

Thanks!
tl

Hi - is there any AWX documentation that can help with this problem? Thanks!

Normally Minikube is running in a virtual environment. That is outside the docs for AWX.
You will need to somehow expose Minikube to the external world.
That typically isn’t going to be a production environment or even a long-term lab environment.

You will need to set up kubernetes exposed to your network such that other machines can get at the system.

Hi Larry

Thanks for the reply. So, I’m confused. I thought the purpose of AWX was to provide a shared web-accessible UI interface to an Ansible server. So how should I implement AWX, to allow access from browsers running ‘everywhere’ in my lab environment?

Thanks
tl

You can use a node port or ingress to expose it

Hi Wei-Yen

Is that what ‘everyone’ does, or am I doing something that is unusual?

Thanks
tl

Install kubernetes directly on a machine. Not minikube.
Minikube is for development or experiments.
Try K0s or K3s. They are small and simple enough to get going then you can
install AWX on top of that.

Hi Terry,
I used https://github.com/kurokobo/awx-on-k3s to bring up a single node k3s cluster running AWX on Debian 10.
The README takes you through the steps to get the process up and running.

The main thing to bear in mind is that you need to change all references to ‘awx.example.com’ to a fully qualified domain name that resolves to the IP address of the server you installing k3s on.
The other thing to remember is that when you stop the k3s service the containers are not torn down.
You need to run a script called k3s-killall.sh to do that.
This may have been fixed in a more recent version to what I’m running.

Hope this helps.

@terry. That’s how you expose services from kubernetes.

" Install kubernetes directly on a machine. Not minikube.
Minikube is for development or experiments.
Try K0s or K3s. They are small and simple enough to get going then you can
install AWX on top of that."

Thanks for this suggestion. I followed the ‘formal’ AWX installation documentation at https://github.com/ansible/awx-operator/tree/devel/docs/installation, which specifies/suggests the use of minikube. Given minikube’s limitations, may I suggest that recommending minikube with AWX is a terrible idea, because it does not support use of the AWX UI via a web interface? This is what I’ve been trying to achieve for weeks, and have wasted time trying to get the minikube-based deployment to work. Would someone please update the documentation, replacing minikube with a better kubernetes option?

"Hi Terry,
I used https://github.com/kurokobo/awx-on-k3s to bring up a single node k3s cluster running AWX on Debian 10.
The README takes you through the steps to get the process up and running.

The main thing to bear in mind is that you need to change all references to ‘awx.example.com’ to a fully qualified domain name that resolves to the IP address of the server you installing k3s on.
The other thing to remember is that when you stop the k3s service the containers are not torn down.
You need to run a script called k3s-killall.sh to do that.
This may have been fixed in a more recent version to what I’m running.

Hope this helps."

This was a HUGE help. Thank you SO MUCH for making me aware of this option. I followed the instructions and ended up with a working environment in minutes. I wish that I had been aware of this option when I started investigating AWX in August. Would it be possible to add this deployment option to the AWX documentation, so others can easily find it? Thanks again!