Wpis z mikrobloga

#siecikomputerowe #python #automatyzacja #ansible
Jak wygląda u Was temat automatyzacji sieci? Notatnik, Excel, każdy orze jak może i w czym potrafi czy raczej jakiś większy system dzięki któremu odeszliście od CLI? Ciekawi mnie jak to wygląda w dużych i małych firmach.

U mnie zarządzamy 80-90 urządzeniami różnych vendorów (głównie Cisco, Juniper), więc ciężko to ubrać w jeden system, skoro nawet w rodzinie Cisco każde urządzenie ma inny zestaw API, a starsze modele wspierają tylko SSH.

Ogólnie piszemy w Python, mamy też trochę playbooków w Ansible, chociaż ja nie jestem tego wielkim fanem, ciężko się opracowuje wyniki i jest niewiele możliwości dodania jakiejś logiki. W przypadku Pythona są to albo biblioteki dedykowane do danego vendora (np. pyEZ dla Juniperów) albo Netmiko.

Korzystacie z jakichś mniej popularnych bibliotek jak NAPALM czy Nornir? A może w ogóle macie wdrożony cały proces CI/CD z GITem, Jenkinsem i innymi tego typu narzędziami?
  • 8
@xszefo: U mnie jest autorska platforma do automatyzacji natomiast korzysta się z niej bardziej na zasadzie gdy trzeba na tysiącach urządzeń dodać jakieś IP do access listy czy pozmieniać coś w AAA czyli bardziej rzeczy, które są na wszystkich urządzeniach. Troubleshooting i tak odbywa się przez CLI.
W jakieś automatyczne przydzielanie adresów za pomocą infobloxa itp. się nie bawimy.
Dla kontekstu sieć ma ponad 15k urządzeń R&S to Cisco i część
a jak bez tego odpalacie te playbooki? każdy sobie ze swojego kompa coś dlubie?


@mmichal: w gruncie rzeczy tak, zamiast dodawać VLAN na 10 urządzeniach z ręki, ktoś mógł napisać playbook który robi to za niego. Nie ma tutaj więc żadnego systemu który by to kontrolował, pojedyncze skrypty/playbooki zastępują ręczną konfigurację.
@xszefo: tylko ktoś coś zmieni i co wtedy? co z kodem? jak sobie wymieniacie? czy widzisz co kto puszcza?

Moim zdaniem coś do odpalania playbooków będzie super pomocne, możesz otagowarz urządzenia i zrobić z nich inventory, wtedy na konkretnych grupach możesz coś odpalić itp. czyli git + Jenkins/Rundeck
@mmichal: każdy ma dostęp do playbooków i skryptów, ale tak jak napisałem, nie ma żadnego systemu który to kontroluje. Tego typu rozwiązania przyspieszają niektóre zadania w CLI - analogicznie każdy admin się może zalogować i coś dodać, trafia do do logów tacacsa, ale tylko tyle.

A jak wygląda zmiana konfiguracji w GIT? Ciężko mi sobie to wyobrazić, ale winą może jest moja wyobraźnia. Czy raczej tego typu rozwiązania stosujecie dla ogólnych
@xszefo: Mimo, że sporo się zmieniło przez lata to sporo firm sporo korzysta wciąż ze starego i sprawdzonego SNMP do zarządzania infrastrukturą. Możecie się śmiać, ale duża część firm wciąż w systemach informatycznych steruje stacjami bazowymi np. za pomocą SNMP lub SSH. Nikt tam się nie bawi w jakieś rzeźbienie w Pythonie czy innym badziewiu.
to jak wygląda u Was zarządzanie usługami przy 15k urządzeń? Excel, IPAM, autorskie rozwiązania?


@xszefo: autorska platforma ściągana dane z urządzeń za pomocą snmp i kiedyś tworzy tickety w danych przypadkach na tej samej platformie obecnie tworzy tickety w servicenow, ale dalej monitorowaniem zajmuje się ta usługa.

P.S Mamy też już kilka lokalizacji na sd-wanie no i tam wiadomo alertuje vManage i robi tickety do servicenow
jak to wygląda wtedy od strony GIT? Jest pewnie jakiś plik z danymi gdzie dodaje się nowy VLAN i w jego opisie dodaje się wszystkie switche i interfejsy? Czy może interfejsy są w osobnej sekcji i tam dodaje się kolejny VLAN do listy, a później jakiś Ansible + jinja2 tworzą z tego konfigurację, którą Jenkins wrzuca na pudła?


@xszefo: chyba bym poszedł w rozwiązanie takie że mam Jenkinsa gdzie mam joby