Skip to main content

AWX Installation auf KVM mit Ubuntu 24.04.2 LTS

AWX-mit-Docker-und-VM-Kubernetes.pngVoraussetzungen

  • KVM Host mit Ubuntu 24.04.2 LTS (frisch installiert)

  • nesting=1 gesetzt, falls LXC verwendet wird

  • Ausreichend CPU/RAM (mindestens 2 vCPU, 4 GB RAM empfohlen)


1. System aktualisieren

sudo apt update && sudo apt upgrade -y

2. Wichtige Pakete installieren

sudo apt install -y make curl git apt-transport-https ca-certificates gnupg software-properties-common make

3. Docker installieren

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

Hinweis: Danach einmal neu anmelden oder newgrp docker


4. KIND (Kubernetes in Docker) installieren

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.22.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

5. kubectl installieren

curl -LO "https://dl.k8s.io/release/v1.29.2/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

6. Kubernetes Cluster mit Portweiterleitung erstellen

# kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
    extraPortMappings:
      - containerPort: 32464
        hostPort: 32464
        protocol: TCP
kind create cluster --name awx --config kind-config.yaml

7. AWX Operator installieren

git clone https://github.com/ansible/awx-operator.git
cd awx-operator
git checkout tags/24.2.0
make deploy NAMESPACE=awx

8. AWX Deployment erstellen (awx.yaml)

apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx
  namespace: awx
spec:
  service_type: nodeport
  ingress_type: none
  create_preload_data: true
kubectl apply -f awx.yaml -n awx

9. Warten, bis alle Pods laufen

kubectl get pods -n awx -w

Achte darauf, dass awx-task und awx-web auf Running stehen


10. NodePort finden

kubectl get svc -n awx awx-service

Beispielausgabe:

NAME          TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
awx-service   NodePort   10.96.242.91   <none>        80:32464/TCP   60m

11. AWX Web-UI aufrufen

Im Browser:

http://<KVM-Host-IP>:32464

Beispiel:

http://192.168.10.122:32464

12. Anmeldedaten

Standardmäßig:

  • Benutzer: admin

  • Passwort: wird beim ersten Start im awx-task Container geloggt:

kubectl logs -n awx deployment/awx-task | grep password

Troubleshooting

  • Bei DNS-Problemen hostAliases im AWX-CR vermeiden — wird derzeit nicht unterstützt.

  • Prüfe kubectl describe pod ... bei Pod-Fehlern

  • IPv6-only Umgebungen können Probleme verursachen → ggf. IPv4 bevorzugt konfigurieren

  • kubectl -n awx patch service awx-service   -p '{"spec": {"ports": [{"port": 80, "targetPort": 80, "protocol": "TCP", "nodePort": 32464}]}}'

AWX Update

kubectl apply -f awx.yaml -n awx

Wichtig: Änderungen an nicht unterstützten Feldern (z. B. hostAliases) vermeiden.


Fertig! 🎉 AWX ist jetzt bereit für deine Projekte.