Deploy AWX di k3s Single Node untuk Automation Ansible
Ada satu fase di hidup seorang infra / DevOps engineer di mana Ansible CLI aja mulai terasa kurang.
Playbook makin banyak, inventory makin kompleks, credential makin sensitif, dan akhirnya muncul kebutuhan:
“Gua butuh UI, RBAC, logging, tapi gak mau ribet setup Kubernetes gede.”
Di titik itu, AWX jadi pilihan yang masuk akal.
Dan biar gak overkill, gua pilih k3s sebagai pondasinya.
Tulisan ini bukan best-practice enterprise, tapi catatan jujur dari setup lab yang:
- Ringan
- Cepat
- Cukup rapi
- dan realistis buat dipakai harian
AWX, Ansible Tower, atau Red Hat AAP?
Section titled “AWX, Ansible Tower, atau Red Hat AAP?”Secara resmi, jawabannya adalah:
- Ansible Tower (sudah deprecated)
- Red Hat Ansible Automation Platform (AAP)
Masalahnya?
- AAP berbayar
- Pricing sering kali overkill untuk lab, internal tools, atau tim kecil
- Support enterprise belum tentu jadi kebutuhan utama
Di titik ini, AWX muncul sebagai opsi yang masuk akal:
- Open-source
- Upstream dari Ansible Tower
- Fitur inti (UI, RBAC, scheduling, logging) tetap ada
- Bisa jalan di Kubernetes ringan seperti k3s
Kalau kalian butuh SLA, support resmi, dan compliance ketat — AAP tetap pilihan yang benar.
Tapi kalau yang dicari adalah fungsi dan fleksibilitas, AWX sudah lebih dari cukup.
Tujuan Setup
Section titled “Tujuan Setup”Target gua sederhana:
- Kubernetes single-node
- Setup cepat
- Proof-of-concept
- Gak perlu ribet ingress
- AWX bisa langsung diakses
- Cocok buat homelab & internal automation
- Tim kecil yang butuh kontrol tapi gak butuh kontrak enterprise
Bukan HA, bukan production-grade, tapi usable.
Environment Overview
Section titled “Environment Overview”- Ubuntu Server 22.04
- 1 VM / bare metal
- Resource minimum:
- 2 vCPU
- 4 GB RAM (8 GB lebih nyaman)
- Internet access
Step 1 — Nyiapin Package yang Diperlukan
Section titled “Step 1 — Nyiapin Package yang Diperlukan”sudo apt updatesudo apt install -y git build-essential curlStep 2 — Install k3s
Section titled “Step 2 — Install k3s”curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--write-kubeconfig-mode=644" sh -Cek node:
kubectl get nodes -o wideStep 3 — Cek Komponen Cluster
Section titled “Step 3 — Cek Komponen Cluster”kubectl get all -n kube-systemStep 4 — Deploy AWX Operator
Section titled “Step 4 — Deploy AWX Operator”git clone https://github.com/ansible/awx-operator.gitcd awx-operatorgit checkout tags/2.19.1export VERSION=2.19.1make deployStep 5 — Secret Admin
Section titled “Step 5 — Secret Admin”kubectl create secret generic awx-admin-password \ --from-literal=password='<STRONG_PASSWORD>' \ -n awxStep 6 — Deploy AWX Instance
Section titled “Step 6 — Deploy AWX Instance”apiVersion: awx.ansible.com/v1beta1kind: AWXmetadata: name: awx-production namespace: awxspec: admin_user: admin admin_password_secret: awx-admin-password service_type: nodeportkubectl apply -f awx-prod.ymlkubectl get pods -n awx -wStep 7 — Akses AWX
Section titled “Step 7 — Akses AWX”kubectl get svc -n awxAkses via:
http://<NODE_IP>:<NODEPORT>Penutup
Section titled “Penutup”AWX + k3s itu kombinasi yang underrated. Bukan buat semua orang, tapi pas banget buat engineer yang:
- Pragmatis
- Suka setup rapi
- dan pengen automation yang beneran kepake
Kalau kalian lagi di fase “gua butuh UI tapi gak mau ribet”, setup ini layak dicoba.
Happy automating ☕