Recommended Deployment Setup

I am part of a small devops team, where I manage our AWX 17 environment deployed via docker by myself. We use VRA8 to build servers and AWX sends the configs and packages down to each box. On average we may get 1-3 server builds at a time a few times a week. Once in a while 8 server builds may come in at o ne time. Recently we had an outage where after I go AWX back online and running, I learned only then that we have a requirement to get our AWX tool up to -1 or the 2nd newest stable version in six months, which would be a AWX Kubernetes deployment.

After reading about how AWX went to Kubernetes by default now, I am at a crossroads on the best path to handle our needs from an architectural design and staffing point of view. On one hand kubernetes may seem to be overkill for our needs, but it seems to accomplish the HA/uptime we require. My concern is the kubernetes learning curve that I will need to ramp up on and when Kubernetes breaks as there is no budget to hire additional experienced Kubernetes engineers. A cloud hosted Kubernetes environment is not an option either due to budget. For our low consumption needs this is what makes sense to me currently:

For HA: 2 master nodes and 2 worker nodes

In case each of the nodes have an issue, one should be able to take over while I fix any isuses.

3 master/3worker needs seems like it would be complete overkill for us, plus not wanting to managing additional servers if I don’t have to.

I don’t have time or desire to handle our AWX environment via docker and setting up additional server nodes like having an nginx load balancer in front to send requests to 2 AWX servers to handle jobs. And docker isn’t officially supported.

Long-term plan is to get the awx kubernetes environment going, then do a data migration when ready. Am I on the right track directionwise here? Any background or guidance would really be appreciated, thank you!

Same story, tired of AWX 17 and had to go the Kubernetes route… no regrets, despite the learning curve it is worth getting familiar with such powerful and modern platform.

You can start testing locally with minikube to get used to K8s, the AWX operator and how the AWX deployment works (many options).
Once you are ready and feel like you get it, move to an external Postgres database which will make the long-term management of your stack way simpler (upgrades/backup/etc.): we used the Crunchy Operator to deploy a PG Cluster and host the AWX DB (and more) in the K8s cluster next to AWX.

You need at least 3 master nodes for a “real” HA cluster and as many workers as you see fit (2 at least for redundancy).

Good luck!