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 :
pip3 install --user ansible
Exécution d'un playbook
Pour appliquer le playbook base.yml
:
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
Automatiquement ajouter fingerprint ECDSA (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).
On va utiliser plutôt ProxyJump. Dans la configuration SSH :
# Use a key to log on all Aurore 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
ansible -i hosts zamok.crans.org -m setup --ask-vault-pass