Skip to content
Snippets Groups Projects

Update README

Merged ynerant requested to merge readme into main
1 file
+ 22
22
Compare changes
  • Side-by-side
  • Inline
+ 22
22
# Recettes Ansible du Cr@ns
Ensemble des recettes de déploiement Ansible pour les serveurs du Crans.
Pour les utiliser, vérifiez que vous avez au moins Ansible 2.7.
Pour les utiliser, vérifiez que vous avez au moins Ansible 2.10.
## Ansible 101
@@ -55,7 +55,7 @@ remplacés par une condition :
* pour tester les versions de Debian,
```YAML
ansible_lsb.codename == 'stretch'
ansible_lsb.codename == 'bullseye'
```
* pour tester si c'est un CPU Intel x86_64,
@@ -65,10 +65,6 @@ remplacés par une condition :
and ansible_architecture == 'x86_64'
```
Pour les fonctions (`proxy-server`, `dhcp-dynamique`…) il a été choisi
de ne pas faire de groupe particulier mais plutôt de sélectionner/enlever
les machines pertinentes directement dans les playbooks.
### Lister tout ce que sait Ansible sur un hôte
Lors du lancement d'Ansible, il collecte un ensemble de faits sur les serveurs
@@ -80,12 +76,6 @@ on peut exécuter le module `setup` manuellement.
ansible zamok.adm.crans.org -m setup
```
### Filtrer un objet Python
Ansible fournit le filtre `json_query` qui va utiliser
le module python `jmespath`. Il est puissant et permet entre autre
de filtrer la sortie de l'API Re2o.
## Exécution d'Ansible
### Configurer la connexion au vlan adm
@@ -98,8 +88,9 @@ Dans la configuration SSH :
```
# Use a proxy jump server to log on all Crans inventory
Host 10.231.136.* *.adm.crans.org *.borne.crans.org
ProxyJump thot.crans.org
Host 172.16.10.* *.adm.crans.org
User _user
ProxyJump en7.crans.org
```
Il faut sa clé SSH configurée sur le serveur que l'on déploit.
@@ -107,19 +98,28 @@ Il faut sa clé SSH configurée sur le serveur que l'on déploit.
ssh-copy-id zamok.adm.crans.org
```
### Lancer un Playbook Ansible
### Connexion au LDAP
Il faut `python3-netaddr` et `python3-jmespath` sur sa machine.
De nombreuses informations sont stockées dans le LDAP, situé sur tealc. Les
différents rôles Ansible vont parfois récupérer des données. Vous devez pour
cela rendre accessible le LDAP sur votre machine, en ouvrant dans un terminal à
côté :
Pour tester le playbook `base.yml` :
```bash
./base.yml --check
ssh -L 1636:tealc.adm.crans.org:636 tealc.adm.crans.org
```
Vous pouvez ensuite enlever `--check` si vous voulez appliquer les changements !
Pour que la connexion puisse fonctionner, vous aurez besoin du paquet
`python3-ldap`.
Vous pouvez aussi avoir un mode étape par étape avec `--step`.
Si vous avez des soucis de fingerprint ECDSA, vous pouvez ignorer une
première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ./...`.
### Lancer un Playbook Ansible
Pour tester le playbook `root.yml` :
```bash
plays/root.yml -l voyager.adm.crans.org --check
```
Vous pouvez ensuite enlever `--check` si vous voulez appliquer les changements !
Vous pouvez aussi avoir un mode étape par étape avec `--step`.
Loading