GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Ansible AWX sur Kubernetes Minikube

Bonjour Geeks, j'espère que vous connaissez Ansible AWX, sinon Ansible AWX est un outil graphique basé sur le Web pour gérer les playbooks ansible. Il existe de nombreuses autres fonctionnalités d'AWX en dehors de l'exécution des playbooks Ansible, telles que l'intégration de la gestion des sources, la journalisation du RBAC, etc.

En d'autres termes, on peut dire qu'Ansible AWX est considéré comme un projet en amont de Red HAT Ansible Tower. À partir de la version 18.x d'AWX et des versions ultérieures, le focus d'installation est déplacé de Docker vers Kubernetes. Ainsi, dans cet article, nous couvrirons l'installation étape par étape d'Ansible AWX sur Kubernetes Minikube.

Je suppose que Minikube est déjà installé sur votre système Linux. Sinon, utilisez l'URL ci-dessous :

  • Comment installer Minikube sur Ubuntu 20.04 LTS / 21.04

Remarque : Assurez-vous de démarrer votre cluster minikube avec suffisamment de ressources (au moins 4 vCPU et 8 Go de RAM), dans mon cas, j'ai démarré minikube avec les ressources et options suivantes.

$ minikube start --addons=ingress --cpus=4 --cni=flannel --install-addons=true --kubernetes-version=stable --memory=8g

Vérifiez l'installation du cluster Minikube

Exécutez les commandes suivantes pour vérifier l'installation de minikube et l'état du cluster,

$ minikube status$ kubectl cluster-info$ kubectl get nodes

La sortie des commandes ci-dessus devrait ressembler à celle ci-dessous :

Parfait, ci-dessus confirme que minikube a été installé et démarré avec succès. Passons aux étapes d'installation d'AWX.

Étape 1) Installer l'opérateur AWX

Pour installer l'opérateur AWX, exécutez la commande kubectl suivante,

$ kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.12.0/deploy/awx-operator.yaml

Sortie

Exécutez la commande ci-dessous pour confirmer si le module de l'opérateur AWX est démarré ou non. S'il n'est pas démarré, attendez quelques minutes car cela prend du temps,

[email protected] :~$ kubectl get podsNAME                         READY   STATUS    RESTARTS   AGEawx-operator-79bc95f78-pb7tz   1/1     En cours d'exécution   0          5m23s[preemail protected>] :~$Étape 2) Créer un fichier yaml d'instance AWX 

Créez un fichier ansible-awx.yml avec le contenu suivant

$ vi ansible-awx.yml---apiVersion :awx.ansible.com/v1beta1kind :AWXmetadata :  nom :ansible-awxspec :  service_type :nodeport   ingress_type :aucun  nom d'hôte :ansible-awx.example.com

enregistrer et quitter le fichier.

Étape 3) Déployer une instance Ansible AWX

Maintenant, déployons l'instance AWX dans notre cluster en exécutant la commande ci-dessous,

[email protected] :~$ kubectl apply -f ansible-awx.ymlawx.awx.ansible.com/ansible-awx created[email protected] :~$

Ci-dessus créera un déploiement avec le nom "ansible-awx" et ce déploiement aura deux pods et services.

Après quelques minutes, Ansible AWX sera déployé et si vous souhaitez surveiller les journaux d'installation, utilisez la commande ci-dessous,

$ kubectl logs -f déploiement/opérateur awx

Exécutez la commande ci-dessous pour vérifier l'état des pods AWX,

[email protected] : $ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"NAME                          READY   STATUS    RESTARTS   AGEansible-awx-5ddfccf664-vrdq2   4/4        aw 0     postgres-0         1/1     En cours d'exécution   0          8m24s[email protected] :~$

Exécutez la commande suivante pour afficher l'état du service,

[email protected] :~$ kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator"NAME                  TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGEansible-awx-postgres   Cluster IP           aucun>        5432/TCP       8m31sansible-awx-service    NodePort    10.97.206.89           80:32483/TCP   7m55s[email protected] :~$

Veuillez noter le port du nœud de « ansible-awx-service », nous l'utiliserons plus tard pour la redirection de port.

Étape 4) Accéder au portail AWX via le tunneling

Pour accéder au portail AWX en dehors du cluster minikube, nous devons configurer le tunneling, exécuter

[email protected] :~$ nohup minikube tunnel &[3] 35709[email protected] :~$[email protected] :~$ kubectl get svc ansible-awx-serviceNAME                  TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S )        AGEansible-awx-service   NodePort   10.97.206.89           80:32483/TCP   90m[email protected] :~$

Définissez la redirection de port de manière à ce que, si la requête arrive sur l'IP minikube sur le port de nœud '32483', elle soit redirigée vers le port 80 du pod awx.

[email protected] :~$ kubectl port-forward svc/ansible-awx-service --address 0.0.0.0 32483:80 &> /dev/null &[4] 46686[email protected] :~$ 

Essayez maintenant d'accéder au portail AWX à partir du navigateur Web en utilisant l'adresse IP minikube et le port de nœud 32483

http://  :

Pour obtenir les informations d'identification, revenez au terminal et exécutez sous la commande.

[email protected] :~$ kubectl get secret ansible-awx-admin-password -o jsonpath="{.data.password}" | base64 --decodePWrwGWBFCmpd1b47DJffCtK5SqYGzxXF[email protected] :~$

Utilisez le nom d'utilisateur comme "admin" et le mot de passe comme sortie de la commande ci-dessus, après avoir entré les informations d'identification, nous obtiendrons le tableau de bord suivant

Génial, ci-dessus confirme qu'Ansible AWX est installé avec succès sur le minikube Kubernetes. C'est tout de cet article. J'espère que vous l'avez trouvé informatif et si vous avez des questions, n'hésitez pas à nous écrire dans la section des commentaires ci-dessous.

Lire aussi  :Comment exécuter et planifier Ansible Playbook à l'aide de l'interface graphique AWX


Linux
  1. Comment installer Minikube sur Ubuntu 18.04 / 20.04

  2. Comment installer Jenkins sur Kubernetes

  3. Comment installer Kubernetes avec Minikube sur Ubuntu 20.04

  4. Comment installer Ansible sur AlmaLinux 8

  5. Comment installer Ansible sur Oracle Linux 8

Comment installer Minikube sur Ubuntu 20.04

Comment installer Kubernetes minikube sur Ubuntu 20.04

Comment installer Ansible Server sur Ubuntu 18.04

Comment installer Ansible AWX sur Debian 10

Comment installer Kubernetes avec Minikube sur CentOS 8

Comment installer Ansible sur Linux Mint 20