Panoramica
Questo articolo mostrerà un processo su come installare Docker utilizzando Ansible. Creeremo un playbook Ansible che conterrà solo cinque righe di codice. Ciò che ci consentirà di avere un playbook così piccolo è lo script di installazione di Docker ufficiale, che automatizza il processo di installazione di Docker per noi. Lo script funziona su molte delle principali distribuzioni Linux come Debian, Ubuntu, Fedora, RedHat, CentOS, OpenSuse e Raspbian. Lo script che utilizzeremo può essere visualizzato e scaricato da:script di installazione Docker . Per questo esempio installeremo Docker usando Ansible su una macchina virtuale Debian 11.
Il loro script non installa la composizione Docker, ma è comunque uno script fantastico.
Questo processo può essere applicato su qualsiasi tipo di macchina Linux:bare metal, VM o un server cloud.
Un'altra nota a margine – abbiamo anche spiegato un processo su come distribuire i container Docker utilizzando Ansible – Il processo può essere esaminato in questo post e come distribuire Nextcloud e WordPress su Docker utilizzando Ansible.
Prerequisiti
Per installare correttamente Docker utilizzando Ansible, sono necessari i seguenti prerequisiti:
- Abilitato l'accesso SSH sul gruppo host (macchine server Linux/vms)
- Un utente con privilegi sudo (opzionale – per utilizzare l'account root)
- Strumento curl installato sui server Linux
Cos'è Ansible?
Ansible è uno strumento open source di fornitura di software, gestione della configurazione e distribuzione di applicazioni che abilita l'infrastruttura come codice. Funziona su molti sistemi simili a Unix e può configurare sia sistemi simili a Unix che Microsoft Windows.
Crea il file host con inventario e variabili
Per prima cosa dobbiamo creare un file hosts con i nodi remoti e impostare le variabili di login:
sudo nano /etc/ansible/hosts
Nel file di testo, aggiungi i parametri host per assomigliare a questo:
[docker] 192.168.122.87 [docker:vars] ansible_user=sudouser1 ansible_password=user1password ansible_become_password=user1password
Salva il file ed esci.
Scomposizione del file Hosts:
[docker]
192.168.122.87 – Indirizzo IP dell'host remoto (vm/server) nel gruppo host denominato docker
[docker:vars]
utente_ansible – nome utente dell'utente che ha i privilegi sudo (puoi anche impostare l'utente root)
password_ansible – password utente sudo
ansible_become_password – password utente sudo (per i privilegi sudo durante l'esecuzione di comandi che richiedono l'accesso a sudo per essere eseguiti)
Crea il playbook .yaml
Passaggio successivo per creare il playbook .yaml in cui è necessario aggiungere la configurazione. Puoi creare file playbook ovunque tu voglia:
nano docker-install.yml
Una volta aperto l'editor di testo, copia e incolla la configurazione dal basso (attenzione al rientro) e salva il file.
--- - hosts: docker tasks: - name: Install Docker ansible.builtin.shell: cd ~ && curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
Ripartizione del Playbook:
host:finestra mobile – Specificato che questo libro verrà eseguito e applicato solo al nostro gruppo host Docker.
compiti: – Specificato che c'è un'attività da eseguire
nome: nome dell'attività che stiamo eseguendo
ansible.builtin.sheel: – Modulo shell Ansible che ci consente di eseguire comandi shell bash sui nostri server Linux remoti
Il comando della shell che abbiamo eseguito nel nostro playbook Ansible:
"cd ~ &&curl -fsSL https://get.docker.com -o get-docker.sh &&sudo sh get-docker.sh"
Il comando della shell menzionato farà quanto segue:navigherà prima nella directory home dell'utente, scaricherà lo script di installazione Docker nella directory home ed eseguirà lo stesso script di installazione.
Esegui il playbook
Quando abbiamo le nostre risorse, macchine e file di playbook pronti, possiamo eseguire il playbook per inizializzare il processo di installazione di Docker. Esegui quanto segue per eseguire il playbook solo per il gruppo host specifico:
ansible-playbook docker-install.yml -l docker
Una volta avviato il playbook, ci vorranno circa 10 minuti per terminarlo (forse un po' di più, dipende da numerosi fattori).
Quando Ansible termina l'esecuzione del playbook e ottieni un rapporto di successo come nell'immagine sopra, possiamo ricontrollare se Docker è installato correttamente. Docker dovrebbe essere subito in esecuzione e possiamo verificarlo con il comando:
sudo systemctl status docker.service sudo docker ps
Riepilogo
Per riassumere l'articolo, abbiamo eseguito i passaggi su come installare Docker utilizzando Ansible. È stato creato il file Hosts in cui abbiamo aggiunto il nostro nodo remoto con le variabili di accesso per la connessione SSH, scritto ed eseguito un playbook .yaml che scarica lo script di installazione automatica Docker ufficiale ed esegue lo stesso script che installa Docker automaticamente. È grazie a questo script che il nostro playbook .yaml è composto solo da cinque righe di configurazione.
Poiché l'installazione Docker è possibile con Ansible, è anche possibile distribuire container Docker. Se sei interessato, puoi controllare la procedura in questo post.
Grazie per il tuo tempo...