Installation d'AWX
Depuis AWX 18, la méthode d'installation officielle est l'AWX Operator sur Kubernetes. Docker Compose n'est plus maintenu. Cette section couvre l'installation sur K3s, la distribution Kubernetes la plus simple pour un déploiement sur bare metal ou VM.
Prérequis
- Ressources minimales : 4 vCPU, 8 Go RAM, 20 Go disque
- OS : Debian 13, Ubuntu 22.04 ou RHEL 9
- Réseau : accès Internet pour les images Docker (ou registry local)
Installer K3s
# Installation K3s (Kubernetes lightweight)
curl -sfL https://get.k3s.io | sh -
# Vérifier l'état
systemctl status k3s
kubectl get nodes
# Configurer kubectl pour l'utilisateur courant
mkdir -p ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
chmod 600 ~/.kube/config
export KUBECONFIG=~/.kube/configInstaller l'AWX Operator
# Récupérer la dernière version de l'operator
AWX_VERSION=$(curl -s https://api.github.com/repos/ansible/awx-operator/releases/latest | grep tag_name | cut -d '"' -f4)
# Appliquer le manifest de l'operator
kubectl apply -k "github.com/ansible/awx-operator/config/default?ref=${AWX_VERSION}"
# Suivre le déploiement
kubectl logs -f deployment/awx-operator-controller-manager -n awx-operator-systemDéployer AWX
# awx.yml
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
namespace: default
spec:
service_type: nodeport
nodeport_port: 30080
admin_user: admin
admin_password_secret: awx-admin-password# Créer le secret pour le mot de passe admin
kubectl create secret generic awx-admin-password --from-literal=password=MonMotDePasseAdmin
# Déployer AWX
kubectl apply -f awx.yml
# Suivre le déploiement (5-10 minutes)
kubectl logs -f deployments/awx-operator-controller-manager
# Vérifier les pods
kubectl get pods -l app.kubernetes.io/managed-by=awx-operatorAccéder à AWX
# Récupérer le port NodePort
kubectl get svc awx-service
# Récupérer le mot de passe admin si non défini manuellement
kubectl get secret awx-admin-password -o jsonpath='{.data.password}' | base64 --decodeAWX est accessible sur http://IP_SERVEUR:30080. Première connexion : admin / mot de passe défini.
Configuration initiale
Après connexion, configurer dans l'ordre :
- Credentials : clé SSH pour les machines cibles, credentials Git pour les projets
- Organisations : créer une organisation (ou utiliser Default)
- Projets : lier un dépôt Git contenant les playbooks
- Inventaires : créer l'inventaire des machines
- Job Templates : associer playbook + inventaire + credentials
Mises à jour
# Mettre à jour l'operator vers une nouvelle version
kubectl apply -k "github.com/ansible/awx-operator/config/default?ref=NEW_VERSION"
# AWX se met à jour automatiquement après la mise à jour de l'operator