Questo tutorial ti guida attraverso l’installazione di Docker su più host utilizzando Ansible e il popolare ruolo Ansible mantenuto dalla comunità geerlingguy.docker
.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Ansible installato sulla tua macchina di controllo. (Guida all’installazione)
- Accesso SSH configurato sui tuoi host target.
- Utente con privilegi sudo (o accesso root) sugli host target.
Passo 1: Crea il Playbook Ansible
Crea un file chiamato docker-playbook.yml
:
- name: Install Docker using geerlingguy.docker role
hosts: all
become: yes # Usa sudo per elevare i privilegi
gather_facts: yes
roles:
- geerlingguy.docker
Questo semplice playbook applica il ruolo di installazione di Docker a tutti gli host specificati.
Passo 2: Definisci le Dipendenze di Ruolo e Collezione
Crea un file chiamato requirements.yml
per definire chiaramente le dipendenze esterne del ruolo e della collezione Ansible:
roles:
- name: geerlingguy.docker
version: 7.4.1 # Specifica la versione per coerenza
collections:
- name: community.docker
version: ">=3.0.0"
Specificare le versioni garantisce distribuzioni ripetibili e coerenti.
Passo 3: Installa i Ruoli e le Collezioni Richieste
Esegui il seguente comando per installare le dipendenze specificate in requirements.yml
:
ansible-galaxy install -r requirements.yml
Questo comando recupera e installa sia il ruolo che la collezione.
Passo 4: Esegui il Playbook
Esegui il playbook utilizzando l’interfaccia a riga di comando di Ansible. Puoi specificare il tuo inventario inline per semplicità:
ansible-playbook docker-playbook.yml -i "host1,host2," -u root
Sostituisci host1
e host2
con i tuoi effettivi nomi host o indirizzi IP target.
Nota:
- La virgola alla fine dell’inventario inline è necessaria.
- L’opzione
-u root
imposta l’utente che Ansible utilizza per connettersi agli host; modificalo in base alla tua configurazione SSH.
Verifica dell’Installazione di Docker
Dopo aver eseguito il playbook, puoi verificare l’installazione di Docker su ciascun host eseguendo:
ssh root@host1 docker --version
ssh root@host2 docker --version
Dovresti vedere un output simile a:
Docker version 26.1.3, build XXXXXXX
Conclusione
Seguendo questo metodo strutturato, sfrutti in modo efficiente Ansible per installare in modo coerente e affidabile Docker su più server, semplificando la gestione della tua infrastruttura.