0Pricing
DevOps Bootcamp · Lekcja

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 DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp 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.ios

Poznaj 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 version

Przechwyć 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: cfg

Wysył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-sw01

Odpowiadaj 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/1

Dane 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 memory

Ską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.netcommon

Szybkie 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp 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 DevOps Bootcamp 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ąć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp 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

  1. Automatyzacja urządzeń sieciowych za pomocą cli_command
  2. delegate_to i run_once do orkiestracji
  3. Koordynowanie warstw Web, App i DB
  4. Wyłączanie i ponowne włączanie węzłów w load balancerze
← Powrót do DevOps Bootcamp