どうも、Tです。
独自にビルドしたカスタムEEをAWXで使えるようにした備忘録です。
目次
環境
Harbor
# helm list --namespace harbor-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION harbor harbor-system 1 2025-07-24 13:48:19.749107727 +0900 JST deployed
Podman
$ podman --version podman version 5.4.0
AWX
24.6.1
やりたいこと
下記のことをやっていきます。
- PodmanでカスタムEEコンテナイメージを作成
- カスタムEEをプライベートコンテナレジストリのHarborにPushして保存
- AWXからHarborに保存したカスタムEEを利用する
事前準備
本環境はすべてオンプレミスで実施しています。必要となる事前準備は済んでいる前提で進めています。また、要点のみ記載しているため、下記の手順を参考にしてください。
Harborデプロイ
Harborのデプロイ方法は、下記の記事にまとめました。

クラウドなどのコンテナレジストリサービスを利用することもできますが、カスタムEEのコンテナイメージが数百MBと少々大きくなりやすいため、無料枠で使う場合何かしらの制限にかかる可能性が高いです。
今回は、制限なく検証が行えるようプライベートと利用できるHarborを使っています。
カスタムEE作成
カスタムEEの作成方法は、下記の記事にまとめました。
PodmanからHarborへのPush
PodmanからHarborへのコンテナイメージPushに必要な手順は下記の記事にまとめました。

AWXデプロイ
AWXのデプロイ方法は、下記の記事にまとめました。

【Harbor】コンテナレジストリ設定
Harborに「k-library」プロジェクトを作成し、テスト用に「k-harbor」ユーザーに「Developer」ロールを設定しています。
【Podman】カスタムEEのPush
カスタムEEをlocalhostにビルド済みの状態です。
$ podman images k-awx-ee REPOSITORY TAG IMAGE ID CREATED SIZE localhost/k-awx-ee v1.0 97d9f2250361 About an hour ago 406 MB
HarborにPushする用にコンテナイメージにタグをつけます。
$ podman tag localhost/k-awx-ee:v1.0 192.168.10.208:30003/k-library/k-awx-ee:v1.0
タグがついたコンテナイメージがあることを確認します。
$ podman images k-awx-ee REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.10.208:30003/k-library/k-awx-ee v1.0 97d9f2250361 2 hours ago 406 MB localhost/k-awx-ee v1.0 97d9f2250361 2 hours ago 406 MB
Harborにログインします。
$ podman login 192.168.10.208:30003 Username: k-harbor Password: Login Succeeded!
HarborにカスタムEEのコンテイメージをPushします。
$ podman push 192.168.10.208:30003/k-library/k-awx-ee:v1.0 --割愛-- Writing manifest to image destination
【AWX】実行環境設定
【K3s】レジストリのhttps検証スキップ
AWXからHarborに保存したカスタムEEコンテナイメージをPullするとK3sに保存されます。HarborのHTTPSで利用している証明書は、自己証明書のためK3sにPullする際にエラーになります。
HTTPSのTLS証明書の検証をスキップする設定をAWXが稼働しているK3sに設定します。
本手順を実施せず、カスタムEEを使用しようとすると下記のエラーでAWXのジョブが失敗します。
Receptor detail: Error creating pod: container failed to start, ImagePullBackOff
設定ファイルを作成します。
# vi /etc/rancher/k3s/registries.yaml
下記の内容を記載します。
mirrors: "192.168.10.208:30003": endpoint: - "https://192.168.10.208:30003" configs: "192.168.10.208:30003": tls: insecure_skip_verify: true
設定を反映するためK3sを再起動します。
# systemctl restart k3s
認証情報設定
Harborに接続するための認証情報を設定します。
「リソース」->「認証情報」画面で下記の設定を行います。
項目 | 値 | 備考 |
---|---|---|
名前 | k-harbor | 任意の名前 |
認証情報タイプ | コンテナーレジストリー | |
認証URL | 192.168.10.208:30003 | HarborのURL |
ユーザー名 | k-harbor | Harborのプロジェクトに設定したメンバー |
パスワードまたはトークン | k-harborのパスワード | |
SSLの検証 | オフ |
実行環境設定
カスタムEEを利用できるよう実行環境を設定します。
「管理」->「実行環境」画面で下記の設定を行います。
項目 | 値 | 備考 |
---|---|---|
名前 | k-harbor | 任意の名前 |
イメージ | 192.168.10.208:30003/k-library/k-awx-ee:v1.0 | HarborにPushしたカスタムEEを指定 |
プル | イメージが存在しない場合のみ実行前にプルする | 毎回プルされないようにする。 |
レジストリーの認証情報 | k-harbor |
動作確認
カスタムEEの簡単な動作確認のため、カスタムEE(k-awx-ee)を指定して下記のアドホックコマンドを時刻してみます。
ansible --version
AWXのアドホックコマンドの使い方は下記の記事にまとめています。

カスタムEEでビルドしたansibleバージョンであることが確認できたので、カスタムEEが正常に動作しているようです。
127.0.0.1 | CHANGED | rc=0 >> ansible [core 2.19.0] config file = None configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/lib/python3.12/site-packages/ansible ansible collection location = /runner/.ansible/collections:/usr/share/ansible/collections executable location = /usr/local/bin/ansible python version = 3.12.9 (main, Jun 20 2025, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] (/usr/bin/python3.12) jinja version = 3.1.6 pyyaml version = 6.0.2 (with libyaml v0.2.5)
どうしても解消したいという場合は、下記の記事を参照してください。

参考

まとめ
考えていたよりかなり面倒でしたが、まともに動作するAWX環境を獲得できました…。