Ansible - jak wykonać kopię zapasową urządzeń sieciowych

Wszystko o automatyzacji w sieciach i DC
Wiadomość
Autor
baroo_cciepl
wannabe
wannabe
Posty: 67
Rejestracja: 12 sie 2009, 09:01

Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#1

#1 Post autor: baroo_cciepl »

Chciałbym wykorzystać Ansible do wykonywania automatycznej kopii zapasowej urzadzeń sieciowych (Cisco, Dasan, Extreme). Zakładam, że zaloguję się na urządzenie przez ssh i za pomocą "command" wydam polecenie "tftp put startu-pconfig adres_serwera" z parametrami jaki mi się podobają. Pytanie tylko jak w Ansible przeskoczyć podniesienie poziomu uprawnień do trybu enabled?

przemekr
member
member
Posty: 17
Rejestracja: 13 sty 2013, 00:00
Lokalizacja: London
Kontakt:

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#2

#2 Post autor: przemekr »

Ustaw wartosc parametru 'authorize' na 'yes':

Kod: Zaznacz cały

- name: enter privileged mode before issuing commands
    ios_command:
      authorize: yes
      commands:
        - your command here
      
Warto zapoznac sie z pelna dokumentacja, ktora jest dosc solidna:
http://docs.ansible.com/ansible/latest/ ... odule.html
Technical blog: http://ttl255.com

Awatar użytkownika
lxs
wannabe
wannabe
Posty: 177
Rejestracja: 08 sty 2014, 16:27
Lokalizacja: 52.182098, 21.005445

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#3

#3 Post autor: lxs »

parametr authorize załatwi sprawę.

baroo_cciepl
wannabe
wannabe
Posty: 67
Rejestracja: 12 sie 2009, 09:01

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#4

#4 Post autor: baroo_cciepl »

Ok, to jest do zrobienia w przypadku korzystania z modułu ios_command, a co w przypadku, kiedy korzystam z urządzeń innych producentów?

Awatar użytkownika
PatrykW
wannabe
wannabe
Posty: 1742
Rejestracja: 31 paź 2008, 16:05
Lokalizacja: UI.PL / Ubiquiti Polska.pl
Kontakt:

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#5

#5 Post autor: PatrykW »

oxidized sprawdz, mega fajne narzedzie :)
.ılı..ılı.

http://www.linkedin.com/in/pwojtachnio
Potrzebujesz projektu na studia z zakresu Cisco Packet Tracer & GNS ? Just give me call :)

Integrujemy i wspieramy IT :)
https://www.ui.pl | https://facebook.com/UIPolska

Jedyne rozwiązania Ubiquiti Networks w Polsce!
https://ubiquitipolska.pl | https://www.facebook.com/groups/Ubiquiti.Polska

baroo_cciepl
wannabe
wannabe
Posty: 67
Rejestracja: 12 sie 2009, 09:01

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#6

#6 Post autor: baroo_cciepl »

Nie szukam idealnego rozwiązania. Bardziej chciałem się poduczyć ansible i zobaczyć co to potrafi w realnym świecie.

przemekr
member
member
Posty: 17
Rejestracja: 13 sty 2013, 00:00
Lokalizacja: London
Kontakt:

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#7

#7 Post autor: przemekr »

Sprawdz czy Ansible ma network module dla twojego urzadzenia: http://docs.ansible.com/ansible/latest/ ... dules.html

Jesli nie ma, to poszukaj na Ansible Galaxy: https://galaxy.ansible.com/

Moduly dla Cisco moga tez dzialac z innymi pudelkami, warto sprawdzic.

Jak nic innego nie zadziala, to mozna sprobowac dlubac z Netmiko: https://pynet.twb-tech.com/blog/automation/netmiko.html
Technical blog: http://ttl255.com

geminiuss
wannabe
wannabe
Posty: 63
Rejestracja: 16 lut 2008, 00:38

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#8

#8 Post autor: geminiuss »

Jesli nie masz gotowego modulu w Ansible dla danego urzadzenia to musisz go po prostu samemu napisac :-) A jak trzeba napisac modul to zwykle latwije jest napisac osobny skrypt.

Awatar użytkownika
lxs
wannabe
wannabe
Posty: 177
Rejestracja: 08 sty 2014, 16:27
Lokalizacja: 52.182098, 21.005445

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#9

#9 Post autor: lxs »

Generalnie to po roku pisania playbooków na Ansible doszedłęm do wniosku, że to fajne narzędzie dla osób, które nie potrafia programować. Ansible jest napisany w pythonie i obudowany w YAML. Więszkość vendorów sieciowych wystawia swoje biblioteki na pythona. Siłą rzeczy Ansible opakowuje te biblioteki w pythona w role dostępne przez ansible galaxy albo natywnie wbudowane w ansible >=2.3. Ansible jednak ma przewagę, że w środowisku złożonym z wielu dostawców playbooki są tym klejem łączącym budowę środowiska w całość. Osobiście wolę podejście takie, żeby samemu pisać narzędzia fullstack. Biblioteka Cisco/Juniper + Django/flask + bootstrap/SASS + REST + React/Angular/VueJS pozwoli zbudować potężne narzędzie z własnym web UI i własną logiką. Teraz ansible jest modny za sprawą jego zastosowania w AWS, ale w świecie sieciowym moim zdaniem jest promowany na siłę.

kefear
wannabe
wannabe
Posty: 76
Rejestracja: 19 lis 2009, 19:41

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#10

#10 Post autor: kefear »

Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.
---
Polecam bloga mojej żony na temat zdrowego odżywiania
https://pracowniazdrowegostylu.pl

Awatar użytkownika
lxs
wannabe
wannabe
Posty: 177
Rejestracja: 08 sty 2014, 16:27
Lokalizacja: 52.182098, 21.005445

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#11

#11 Post autor: lxs »

kefear pisze: 22 sty 2018, 07:38 Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.
Jakbym chciał coś takiego, to kupiłbym Ansible Tower.
Pytanie retoryczne - Co było pierwsze? Python czy Ansible? Dla mnie Ansible jest wymyślaniem koła na nowo :D
Co do zmienności kodu, to sprawdź z czego korzysta Ansible. Jak podciągniesz biblioteki vendora do wyższej wersji i API jest niekompatybilne wstecz (co jest rzadkością), to Twój playbook również nie zadziała i też będziesz musiał przepisywać wszystko na nowo.

Awatar użytkownika
xal
CCIE
CCIE
Posty: 869
Rejestracja: 06 lip 2006, 21:04
Lokalizacja: Warszawa

Re: Ansible - jak wykonać kopię zapasową urządzeń sieciowych

#12

#12 Post autor: xal »

lxs pisze: 22 sty 2018, 09:22
kefear pisze: 22 sty 2018, 07:38 Jaki jest sens wymyślać koło od nowa ? Możesz sobie zrobić Ansible + Django + REST API + ReactJS :) Coś zmieni się w API vendora i musisz przepisywac skrypty, a tak to ansible załatwia to za Ciebie.
Jakbym chciał coś takiego, to kupiłbym Ansible Tower.
Pytanie retoryczne - Co było pierwsze? Python czy Ansible? Dla mnie Ansible jest wymyślaniem koła na nowo :D
Co do zmienności kodu, to sprawdź z czego korzysta Ansible. Jak podciągniesz biblioteki vendora do wyższej wersji i API jest niekompatybilne wstecz (co jest rzadkością), to Twój playbook również nie zadziała i też będziesz musiał przepisywać wszystko na nowo.
Zwróć uwagę, że (Net)DevOps dopiero nabiera rozpędu w porównaniu do okresu czasu przez jaki konfigurowaliśmy sieci klasycznie, więc wpadki z niekompatybilnością będą się zdarzały, ale z upływem czasu coraz rzadziej. Python jak najbardziej OK, ale to wciąż pisanie skryptów, a każdy pisze po swojemu i jak się zmieni coś w CLI/API to też musisz zmieniać kod. Przewaga ansibla jest taka, że to narzędzie bardzo devopsowe i w jednym playbooku możesz umieścić konfigurację zarówno linuxa, nginx, itp, ale też vlanów, portów, trunków, itp. No i ta idempotentność :-) Jak chcesz to osiągnąć czystym pythonem to własnie odkrywasz koło na nowo, w dodatku kwadratowe.

ODPOWIEDZ