parent
6af11c1b59
commit
b242c22732
44
README.md
44
README.md
|
@ -1,7 +1,7 @@
|
|||
# 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
|
||||
```
|
||||
|
||||
### Connexion au LDAP
|
||||
|
||||
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é :
|
||||
|
||||
```bash
|
||||
ssh -L 1636:tealc.adm.crans.org:636 tealc.adm.crans.org
|
||||
```
|
||||
|
||||
Pour que la connexion puisse fonctionner, vous aurez besoin du paquet
|
||||
`python3-ldap`.
|
||||
|
||||
|
||||
### Lancer un Playbook Ansible
|
||||
|
||||
Il faut `python3-netaddr` et `python3-jmespath` sur sa machine.
|
||||
|
||||
Pour tester le playbook `base.yml` :
|
||||
Pour tester le playbook `root.yml` :
|
||||
```bash
|
||||
./base.yml --check
|
||||
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`.
|
||||
|
||||
Si vous avez des soucis de fingerprint ECDSA, vous pouvez ignorer une
|
||||
première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ./...`.
|
||||
|
||||
|
|
Loading…
Reference in New Issue