Automatyzacja urządzeń sieciowych za pomocą cli_command
Wdrażanie konfiguracji na przełącznikach i routerach.
Automatyzacja urządzeń sieciowych za pomocą cli_command to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Serwery nie są jedynymi celami
Ansible może zarządzać również routerami i przełącznikami, a nie tylko hostami z systemem Linux. Automatyzacja sieci przesyła konfigurację do urządzeń przez SSH lub API. 🌐
Dlaczego urządzenia sieciowe są inne
Przełączniki zazwyczaj nie mają Pythona, więc Ansible nie może kopiować na nie modułów. Połączenie network_cli wykonuje polecenia zdalnie za pośrednictwem interfejsu CLI urządzenia.
vars:
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: cisco.ios.iosPoznaj cli_command
Moduł cli_command wysyła surowe polecenie do urządzenia sieciowego i zwraca jego wynik, tak jakby wpisano je bezpośrednio w wierszu poleceń urządzenia.
- name: Show version
ansible.netcommon.cli_command:
command: show versionPrzechwyć wynik
Użyj register, aby zapisać odpowiedź urządzenia. Wynik trafia do stdout i jest gotowy do późniejszego sprawdzenia lub przetworzenia.
- name: Read running config
ansible.netcommon.cli_command:
command: show running-config
register: cfgWysyłaj polecenia konfiguracji
Aby zmienić konfigurację, urządzenie musi znajdować się w trybie konfiguracji. cli_config bezpiecznie obsługuje wchodzenie do tego trybu i wychodzenie z niego.
- name: Set hostname
ansible.netcommon.cli_config:
config: hostname core-sw01Odpowiadaj na interaktywne monity
Niektóre polecenia wymagają potwierdzenia. cli_command może odpowiadać automatycznie za pomocą par prompt i answer, dzięki czemu play nigdy się nie zawiesi.
- ansible.netcommon.cli_command:
command: reload
prompt:
- Proceed with reload
answer:
- 'y'Z założenia niezależny od dostawcy
To samo zadanie cli_command działa w środowiskach Cisco, Juniper i Arista. Zmienia się tylko ansible_network_os, dzięki czemu styl pozostaje spójny.
Korzystaj z modułów platformy, gdy to możliwe
W przypadku ustrukturyzowanych, idempotentnych zmian preferuj moduły takie jak cisco.ios.ios_config. Po cli_command sięgaj wtedy, gdy nie pasuje żaden konkretny moduł.
- cisco.ios.ios_config:
lines:
- description uplink to core
parents: interface GigabitEthernet0/1Dane uwierzytelniające przez SSH
Urządzenia sieciowe nadal uwierzytelniają się przez SSH. Ustaw ansible_user oraz hasło lub klucz przechowywany w vault, aby playbooki mogły poprawnie się logować.
vars:
ansible_user: netadmin
ansible_password: "{{ vault_net_pass }}"Zapisz bieżącą konfigurację
Zmiany pozostają w bieżącej konfiguracji do momentu jej zapisania. Wykonaj polecenie zapisu, aby ustawienia przetrwały ponowne uruchomienie urządzenia. 💾
- ansible.netcommon.cli_command:
command: write memorySkąd pochodzą te moduły
cli_command jest dostarczany w kolekcji ansible.netcommon. Zainstaluj ją z Galaxy, zanim użyjesz jej w playbookach sieciowych.
ansible-galaxy collection install ansible.netcommonSzybkie sprawdzenie
Sprawdźmy, jak komunikować się z przełącznikiem.
Podsumowanie
Moduł cli_command, za pośrednictwem połączenia network_cli, pozwala Ansible wykonywać i zapisywać polecenia na przełącznikach i routerach przez SSH. ✅
Często zadawane pytania
Czy lekcja „Automatyzacja urządzeń sieciowych za pomocą cli_command” jest bezpłatna?
Tak — pełny tekst „Automatyzacja urządzeń sieciowych za pomocą cli_command” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Automatyzacja urządzeń sieciowych za pomocą cli_command”?
Wdrażanie konfiguracji na przełącznikach i routerach. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?
Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Automatyzacja urządzeń sieciowych za pomocą cli_command”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?
Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Automatyzacja urządzeń sieciowych za pomocą cli_command
- delegate_to i run_once do orkiestracji
- Koordynowanie warstw Web, App i DB
- Wyłączanie i ponowne włączanie węzłów w load balancerze