ansible/README.md

62 lines
1.7 KiB
Markdown

# Ansible
Ensemble des recettes de déploiement Ansible pour les serveurs du Crans.
Ces politiques de déployement nécessite Ansible 2.7 ou plus récent.
Le paquet dans Debian Buster est suffisamment à jour, sinon vous pouvez l'obtenir de la façon suivante :
```bash
pip3 install --user ansible
```
## Exécution d'un playbook
Pour appliquer le playbook `base.yml` :
```bash
ansible-playbook --ask-vault-pass base.yml
```
Il est souhaitable de faire un test avant avec `--check` si on a des doutes !
## FAQ
### Mettre sa clé SSH sur une machine
```
ssh-copy-id -i ~/.ssh/id_rsa_crans.pub zamok.crans.org
```
### Ignorer la fingerprint ECDSA du serveur (dangereux !)
Il faut changer la variable d'environnement suivante :
`ANSIBLE_HOST_KEY_CHECKING=0`.
### Configurer la connexion au bastion
Envoyer son agent SSH peut être dangereux ([source](https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/)).
On va utiliser plutôt `ProxyJump`.
Dans la configuration SSH :
```
# Use a key to log on all Crans servers
# and use a bastion
Host 10.231.136.* *.adm.crans.org
IdentityFile ~/.ssh/id_rsa_crans
ProxyJump passerelle.crans.org
```
Il faut savoir que depuis Ansible 2.5, des connexions persistantes sont créées
vers les serveurs puis détruites à la fin de l'exécution.
### Lister tout ce que sait Ansible sur un hôte
Lors du lancement d'Ansible, il collecte un ensemble de faits sur les serveurs
qui peuvent ensuite être utilisés dans des variables.
Pour lister tous les faits qu'Ansible collecte nativement d'un serveur
on peut exécuter le module `setup` manuellement.
```
ansible -i hosts zamok.crans.org -m setup --ask-vault-pass
```