Offline install awx on k3s

Hello,

I’m trying to install awx on a k3s cluster in an offline environment.
I can successfully manage to install it on a system that has internet access using this GitHub - kurokobo/awx-on-k3s: An example implementation of AWX on single node K3s using AWX Operator, with easy-to-use simplified configuration with ownership of data and passwords. .
Basically what I did, I used the tutorial to install awx using internet access and then once installed I have moved the system in the offline environment.
I noticed that the system it’s keep trying to connect to internet to pull images and configuration.
Is there any good documentation about this, or does anyone can help a bit what should I do about the tutorial of kurokobo in order to make it to work offline?

Thank you,
George

Hi, thanks for using my guide :smiley:

There are several considerations, but two basic ones are:

However, especially for EE images, be aware that the cache may be deleted by Kubelet’s garbage collection. If the cached images are deleted, the job will not be able to start.

So I recommend you to store EE images on the private container registry and configure you EE to point it with policy Missing or Always. If you don’t have existing private container registry, I also provide the guide to deploy that: https://github.com/kurokobo/awx-on-k3s/tree/main/registry

Since garbage collection works on unused images, it is unlikely that AWX or Operator images will be deleted, although ideally all images, including those used by K3s itself, should be placed in a private container registry, as guided by K3s’ air-gapped installation procedure. The procedure is more complicated, so if you are interested, work on it.

Hope this helps :smiley:

thank you very much for your swift response @kurokobo I’m going to try to work on that and I’m going to report back here how that worked out.

F.Y.I., you can list all cached images by sudo $(which k3s) crictl images.

Conversely, images that are not listed by this command may have been deleted by the GC and can’t be used by AWX anymore since it causes ErrImagePull.