Ce tutoriel vous guide à travers l’installation de Docker sur plusieurs hôtes en utilisant Ansible et le rôle Ansible populaire maintenu par la communauté geerlingguy.docker
.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Ansible installé sur votre machine de contrôle. (Guide d’installation)
- Accès SSH configuré sur vos hôtes cibles.
- Un utilisateur avec des privilèges sudo (ou un accès root) sur les hôtes cibles.
Étape 1 : Créer le Playbook Ansible
Créez un fichier nommé docker-playbook.yml
:
- name: Installer Docker en utilisant le rôle geerlingguy.docker
hosts: all
become: yes # Utiliser sudo pour élever les privilèges
gather_facts: yes
roles:
- geerlingguy.docker
Ce playbook simple applique le rôle d’installation de Docker à tous les hôtes spécifiés.
Étape 2 : Définir les dépendances de rôle et de collection
Créez un fichier nommé requirements.yml
pour définir clairement les dépendances de rôle et de collection Ansible externes :
roles:
- name: geerlingguy.docker
version: 7.4.1 # Spécifier la version pour la cohérence
collections:
- name: community.docker
version: ">=3.0.0"
Spécifier les versions garantit des déploiements répétables et cohérents.
Étape 3 : Installer les rôles et collections requis
Exécutez la commande suivante pour installer les dépendances spécifiées dans requirements.yml
:
ansible-galaxy install -r requirements.yml
Cette commande récupère et installe à la fois le rôle et la collection.
Étape 4 : Exécuter le Playbook
Exécutez le playbook en utilisant l’interface de ligne de commande d’Ansible. Vous pouvez spécifier votre inventaire en ligne pour plus de simplicité :
ansible-playbook docker-playbook.yml -i "host1,host2," -u root
Remplacez host1
et host2
par vos véritables noms d’hôtes ou adresses IP cibles.
Remarque :
- La virgule à la fin de l’inventaire en ligne est requise.
- L’option
-u root
définit l’utilisateur qu’Ansible utilise pour se connecter aux hôtes ; modifiez-la en fonction de votre configuration SSH.
Vérification de l’installation de Docker
Après avoir exécuté le playbook, vous pouvez vérifier l’installation de Docker sur chaque hôte en exécutant :
ssh root@host1 docker --version
ssh root@host2 docker --version
Vous devriez voir une sortie similaire à :
Docker version 26.1.3, build XXXXXXX
Conclusion
En suivant cette méthode structurée, vous tirez efficacement parti d’Ansible pour installer Docker de manière cohérente et fiable sur plusieurs serveurs, simplifiant ainsi la gestion de votre infrastructure.