62 lines
1.7 KiB
Markdown
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
|
|
```
|