Files
sib_30_awx/Readme.md
2020-09-25 13:51:32 +02:00

5.1 KiB

AWX / TOWER

Prérequis

Nous allons publier quelques playbook précédemment mis au point sur git, afin de pouvoir les utiliser avec awx.

Sur la machine pilote:

git clone https://CHANGEME:CHANGEME@infra.opendoor.fr/git/tom/CHANGEME.git

cd CHANGEME

mkdir VOTREPRENOM

cd VOTREPRENOM

à partir de ce moment là, toute modification doit être ajoutée, commitée et poussée vers le dépôt externe:

vim test.yml

git add test.yml

git commit -m "rajout tâche foobar"

git push

Présentation de l'outil

Pratique

Se connecter sur http://awx.opendoor.fr avec les informations suivantes:

login: votre login CHANGEME

mot de passe: CHANGEME

Aller dans Ressources -> Modèle, Choisissez une tâche et lancez-la en cliquant sur l'icône en forme de fusée.

Performance

Vous avez exécuté un playbook ansible sans toucher à la ligne de commande !

Installation et configuration

Installer awx en suivant la documentation adéquate

Vérifier le bon fonctionnement des différents containers

Se connecter à l'interface avec le compte admin / password

Connexion et découverte de l'interface

Pratique

Parcourir les éléments lister à droite, faire une rapide présentation, supprimer les données de démo

Quand on arrive à "utilisateur": changer le mot de passe admin

On notera la présence de tâches planifiées dédiées à la maintenance de la plateforme, mise à jour des dépôts, etc.

Performance

Le mot de passe a été changé

Gestion des utilisateurs et des organisations

Ajouter une organisation

Ajouter une équipe "sysadmin" et une équipe "dev"

Créer 2 comptes, un dans chaque équipe

Configuration des mécanismes d'authentification

Créer une "nouvelle information d'authentification" avec les caractéristiques suivantes:

  • nom ssh_pass_centos
  • organisation: NOM DE L'ORGANISATION
  • Type d'information: Machine
  • Nom d'utilisateur: CHANGEME
  • Mot de passe: le mot de passe du compte

Répéter l'opération en utilisant cette fois ci la paire de clé publique / privée que l'on a mise au point en début de formation.

Enfin, créer une "nouvelle information d'authentification" de type "Contrôle de source" avec les informations suivantes!

  • nom d'utilisateur civadis
  • mot de passe: Yohb9wagae-ghah7Eech

Gestion des projets

Créer un projet utilisant le SCM "git" et l'adresse suivante: https://infra.opendoor.fr/git/tom/civadis.git Avec les informations d'authenfication précédemment créées

Il peut être intéressant d'activer "mettre à jour révision au lancement" avec un "expiration du délai d'attente" un peu plus important en production.

Configuration des inventaires

Rajouter un inventaire non smart dans lequel on rajoutera notre / nos machines.

Gestion des tâches

À partir du //projet//, dans modèle de tâche

Créer ensuite un modèle de tâche (essayer de faire le // entre options de ansible-playbook et/ou d'ansible et les différentes parties du formulaire)

Paramètre du modèle de tâche:

  • type de tâche: exécuter
  • inventaire: celui que vous avez créé précédemment
  • playbook: choisissez le playbook que vous voulez dans la liste
  • information d'authentification: ssh_pass_centos
  • options:
  • cocher "activer l'élevation de privilèges"
  • cocher "utiliser le cache des faits"

Exécution d'une tâche

A partir du modèle lancer l'exécution d'une tâche en cliquant sur la petite fusée.

Examiner l'avancement de l'exécution de la tâche.

En cas d'erreur, corriger et relancer jusqu'à ce que la tâche soit exécutée correctement.

On retrouve l'historique de l'exécution des tâche dans Affichage -> tâches (avec la possibilité de relancer une tâche (icône fusée ) et d'obtenir des détails sur son exécution (icône de statut)

Gestion de la délégation

Objectif: déléguer l'exécution des tâches de notre projet à un utilisateur sans que celui-ci ait besoin:

  • de connaître la syntaxe yaml
  • de maitriser la ligne de commande et l'utilisation de ansible-playbook
  • de connaître les informations de connexion
  • de craindre de travailler sur la mauvaise machine ou de faire d'autres erreurs de ce genre

Créer une équipe,

Créer un utilisateur standard membre de cette équipe

Rajouter les permissions afin que l'utilisateur puisse exécuter (il est plus simple de le faire à partir de l'utilisateur ou de l'équipe)

  • projet
  • tâche

Workflow

Les workflow sont un moyen de chaîner des tâches entre elles

Créer un modèle de tâche de type "workflow"

Associez là à votre inventaire et votre organisation

Enregistrer

Accéder au visualisateur de workflow

Cliquer sur le bouton "Démarrer"

Créer une première tâche de type "Sync_projet"

Cliquer sur le plus pour rajouter un bloc de type "modèle" et sélectionner l'une des tâches mise au point

Répéter la précédente opération,

On obtient un workflow qui va mettre à jour le projet (récupérer la dernière version des playbooks publiés sur git) puis exécuter les 2 tâches.

Une fois le visualisateur fermé, vous pouvez exécuter le workflow comme n'importe quelle tâche.

Conclusion