Hi List!
I have deployed the latest AWX using the Operator on a k8s cluster.
It is simple (for now) with one replica of both Operator and AWX instance, the PG DB is external.
AWX is exposed via https using Traefik (IngressRoute) for the WebUI/API part.
I would like to implement Execution Node(s) on remote site(s) but so far haven't been able to make it work. I have tried (many iterations of):
- creating a new instance via the UI and deploy this package on my remote execution node
- deploy receptor and ansible-runner manually on the exec. node
As Stefan has been discussing in other posts (I have been following his adventures and trying to replicate), I understand we need to expose the receptor outside the k8s cluster so that execution nodes can reach it (ie. create a load-balancer service which maps to the receptor tcp port of the controller node ), but by default the "tcp-listener" part of the receptor config isn't present in the configmap which is used for /etc/receptor/receptor.conf (on
awx_ee container I think) so I imagine it isn't listening?
What is the proper way to go?
1. enable receptor in the control node, using an extra configmap or the operator?
2. create a k8s service pointing to the default (27199) or custom (configmap) port for receptor (since receptor traffic isn't on the web/api port)
3. create an install package from the UI for the new exec. node and deploy it (using the listener port configured above)
4. wait for the exec. node to call home and register in the UI (via the exposed k8s service)
5. schedule jobs on the new exec. node
Bonus question: can the exec. node be installed manually (no UI install package) and run fully in containers (receptor and ansible-runner)?
Thank you in advance for any help (or link) that would clarify the steps! :)