IT・個人事業

Ubuntu 26.04 LTSでAnsible AWXを構築する|k3s+AWX Operator入門

公開: 更新:

※ 本記事にはアフィリエイト広告(Amazonアソシエイト・楽天アフィリエイト等)が含まれています。

この記事はもともと、Ubuntu 22.04でAWXを触ったときの自分用メモでした。コマンドの羅列だけで読み物として不親切だったのと、AWXのインストール方法が現在は大きく変わっているため、最新のUbuntu 26.04 LTSのインストールから通しで動かす手順に全面リライトしました。

ゴールはシンプルで、ブラウザからAnsibleを操作できるGUI「AWX」を、検証機(またはVM)に立ち上げるところまでです。

AWXとは?なぜ入れたいのか

Ansibleはコマンドラインの自動化ツールですが、AWXはそのWeb GUI版です(Red Hatの有償製品「Ansible Automation Platform」のアップストリーム=無料版にあたります)。

  • Playbookの実行をボタン一つにできる
  • 実行履歴・ログがWebで見える
  • ジョブのスケジュール実行や権限管理ができる

「コマンドを叩ける人しか自動化を使えない」状態から卒業できるのが最大の魅力です。

前提と検証環境

AWXは意外とリソース食いです。目安としてメモリ8GB・CPU 4コア・ディスク40GB以上を確保してください。メモリ4GBだとPodが起動しきらず、私は最初ここでハマりました。
  • マシン:検証用PC(VMでもクラウドVPSでも手順は同じ)
  • OS:Ubuntu Server 26.04 LTS(2026年4月リリースの最新LTS)
  • 構成:k3s(軽量Kubernetes)+ AWX Operator

昔のAWXは docker-compose や専用インストーラで入れられましたが、現在の公式インストール方法はKubernetes上にAWX Operatorで入れる方式のみです。「Kubernetesかぁ…」と身構えるかもしれませんが、軽量ディストリビューションのk3sを使えばコマンド1行なので大丈夫です。

Step 1:Ubuntu 26.04 LTS をインストールする

  1. Ubuntu公式サイトから Ubuntu Server 26.04 LTS のISOをダウンロード
  2. VMなら新規仮想マシンに、実機ならbalenaEtcher等でUSBメモリに書き込んで起動
  3. インストーラーは基本すべてデフォルトでOK。1点だけ、途中の 「Install OpenSSH server」には必ずチェックを入れてください(以後の作業をSSHで進めるため)
  4. インストール完了後、ログインしてまずお決まりの更新を:
sudo apt update && sudo apt upgrade -y
sudo reboot
26.04 LTSはカーネルがLinux 7.0系になるなど中身は大きく変わっていますが、サーバー用途のインストール手順自体は従来のLTSとほぼ同じです。

Step 2:k3s(軽量Kubernetes)を入れる

k3sは1コマンドで入るKubernetesです。

curl -sfL https://get.k3s.io | sh -

1〜2分で完了します。動作確認:

sudo k3s kubectl get nodes

STATUSReady になっていればOK。以降 kubectl を素で使えるように、設定をコピーしておきます。

mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
export KUBECONFIG=~/.kube/config
echo 'export KUBECONFIG=~/.kube/config' >> ~/.bashrc

Step 3:AWX Operator をデプロイする

AWX Operatorは「AWXの面倒を見てくれる管理役」です。作業用ディレクトリを作り、kustomization.yaml を用意します。

mkdir ~/awx && cd ~/awx

kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - github.com/ansible/awx-operator/config/default?ref=<最新タグ>
images:
  - name: quay.io/ansible/awx-operator
    newTag: <最新タグ>
namespace: awx

<最新タグ>awx-operatorのリリースページで最新版を確認して、2箇所とも同じ値に置き換えてください(AWXはリリースが速いので、記事にバージョンを直書きするとすぐ古くなります)。

適用して、Operatorが起動するのを確認します。

kubectl apply -k .
kubectl get pods -n awx

awx-operator-controller-manager-… というPodが Running になれば準備完了です。

Step 4:AWX本体をデプロイする

同じディレクトリに awx.yaml を作ります。

apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx
spec:
  service_type: nodeport
  nodeport_port: 30080

kustomization.yamlresources に追記します。

resources:
  - github.com/ansible/awx-operator/config/default?ref=<最新タグ>
  - awx.yaml

再度適用:

kubectl apply -k .

ここがいちばん時間がかかる工程です。PostgreSQLやWeb・タスク用のPodが順に立ち上がるので、様子を見ながら気長に待ちます。

kubectl get pods -n awx -w

私の環境では全Podが Running になるまで10分弱かかりました。途中で Pending や再起動が見えても、たいてい待てば解決します。

Step 5:ログインする

管理者(admin)の初期パスワードを取り出します。

kubectl get secret awx-admin-password -n awx -o jsonpath="{.data.password}" | base64 --decode ; echo

ブラウザで http://サーバーのIPアドレス:30080 を開き、ユーザー名 admin+さっきのパスワードでログイン。AWXのダッシュボードが表示されたら構築完了です!

ハマりどころまとめ

実際にやってみてつまずいた(or つまずきそうになった)ポイントです。

  • メモリ不足:4GBだとPodが Pending のまま進みません。8GBは用意する
  • 起動が遅いのは正常kubectl apply 直後は数分間エラーっぽいログが流れますが、待つのが正解
  • タグの指定漏れkustomization.yamlref=newTag:2箇所を同じバージョンにしないと動きません
  • パスワードのSecret名は metadata.name に依存します(awx なら awx-admin-password

まとめ

  • 現在のAWXは Kubernetes+AWX Operator が公式のインストール方法
  • Ubuntu 26.04 LTS+k3sなら、OSインストール込みでも半日かからずGUIのAnsible環境が手に入る
  • 最新の手順・バージョンは公式ドキュメントを必ず確認してください

Ubuntuの基礎から学びたい方は Ubuntuを基礎から徹底的に学んでみる!!#1 も、あわせてどうぞ。

PR
サーバー選びで迷っているなら ConoHa WING

私がこのブログで使っているレンタルサーバーです。公式が「サーバー処理速度 国内No.1」をうたうとおり表示が速く、初期費用は無料。WordPressの簡単セットアップも使えるので、検証用の環境をさっと用意したいときにも便利です。

ConoHa WINGを見てみる