Automatizzare i dispositivi di rete con cli_command
Invii la configurazione a switch e router
Automatizzare i dispositivi di rete con cli_command è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
I server non sono gli unici target
Ansible può gestire anche router e switch, non solo host Linux. L'automazione di rete invia la configurazione ai dispositivi tramite SSH o un'API. 🌐
Perché i dispositivi di rete sono diversi
Gli switch di solito non hanno Python, quindi Ansible non può copiarvi i moduli. La connessione network_cli esegue invece i comandi da remoto tramite la CLI del dispositivo.
vars:
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: cisco.ios.iosConoscere cli_command
Il modulo cli_command invia un comando grezzo a un dispositivo di rete e ne restituisce l'output, proprio come se lo si digitasse al prompt del dispositivo.
- name: Show version
ansible.netcommon.cli_command:
command: show versionAcquisire l'output
Usare register per salvare la risposta del dispositivo. Il risultato viene inserito in stdout, pronto per essere analizzato o elaborato in seguito.
- name: Read running config
ansible.netcommon.cli_command:
command: show running-config
register: cfgInviare comandi di configurazione
Per modificare la configurazione, il dispositivo deve trovarsi in modalità di configurazione. cli_config gestisce in sicurezza l'ingresso e l'uscita da tale modalità.
- name: Set hostname
ansible.netcommon.cli_config:
config: hostname core-sw01Rispondere ai prompt interattivi
Alcuni comandi richiedono una conferma. cli_command può rispondere automaticamente usando coppie prompt e answer, così il play non resta mai bloccato.
- ansible.netcommon.cli_command:
command: reload
prompt:
- Proceed with reload
answer:
- 'y'Neutrale rispetto al vendor
La stessa attività cli_command funziona con Cisco, Juniper e Arista. Cambia solo ansible_network_os, quindi lo stile rimane coerente.
Usare i moduli della piattaforma quando possibile
Per modifiche strutturate e idempotenti, preferire moduli come cisco.ios.ios_config. Usare cli_command quando non esiste un modulo specifico adatto.
- cisco.ios.ios_config:
lines:
- description uplink to core
parents: interface GigabitEthernet0/1Credenziali tramite SSH
I dispositivi di rete autenticano comunque tramite SSH. Impostare ansible_user e una password o una chiave archiviata nel vault, così i play possono accedere senza problemi.
vars:
ansible_user: netadmin
ansible_password: "{{ vault_net_pass }}"Salvare la configurazione running
Le modifiche restano nella configurazione running finché non vengono salvate. Eseguire un comando write per fare in modo che le impostazioni sopravvivano al riavvio del dispositivo. 💾
- ansible.netcommon.cli_command:
command: write memoryDa dove provengono questi moduli
cli_command è incluso nella collection ansible.netcommon. Installarla da Galaxy prima di usare questi moduli nei playbook di rete.
ansible-galaxy collection install ansible.netcommonVerifica rapida
Verifichiamo come si comunica con uno switch.
Riepilogo
Il modulo cli_command, tramite la connessione network_cli, permette ad Ansible di eseguire e salvare comandi su switch e router attraverso SSH. ✅
Domande Frequenti
La lezione «Automatizzare i dispositivi di rete con cli_command» è gratuita?
Sì — il testo completo di «Automatizzare i dispositivi di rete con cli_command» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Automatizzare i dispositivi di rete con cli_command»?
Invii la configurazione a switch e router Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Automatizzare i dispositivi di rete con cli_command»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Automatizzare i dispositivi di rete con cli_command
- delegate_to e run_once per l'orchestrazione
- Coordinare i livelli Web, App e DB
- Drenare e riabilitare un load balancer