Automatyzacja Ansiblem - poza zarządzaniem konfiguracją systemów. Opowieści z pola bitwy. Dariusz Puchalak IT Consultant and Trainer OSEC

Podobne dokumenty
Know your tools: Ansible Networking. Dariusz Puchalak

Ansible. Dariusz Puchalak

Dariusz Puchalak. 20 lat Linux/Unix Sysadmin 8+ lat trener Od prawie roku w OSEC

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library

Elastyczna sieć dla rozwiązań Cloud Open vswitch

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

SSH. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

How to share data from SQL database table to the OPC Server? Jak udostępnić dane z tabeli bazy SQL do serwera OPC? samouczek ANT.

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Dynamiczny DNS dla usług typu Neostrada przykład konfiguracji

Konfiguracja połączenia VPN w systemie Windows 7 z serwerem rozgrywki wieloosobowej gry Medal Of Honor: Wojna na Pacyfiku: Pacyfik.

Zadanie OUTSIDE /24. dmz. outside /24. security- level /16

Instalacja i konfiguracja rouera ASMAX AR 904u. Neostrada, Netia

Laboratoria zdalne ZTiT

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Configuring and Testing Your Network

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

Marzena Kanclerz. Microsoft Channel Executive. Zachowanie ciągłości procesów biznesowych. z Windows Server 2012R2

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

POLITYKA PRYWATNOŚCI / PRIVACY POLICY

Letnia Akademia SUSE Implementacja nowych rozwiązań open source wszystko, co musisz wiedzieć!

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Stargard Szczecinski i okolice (Polish Edition)

Bezpieczeństwo systemów informatycznych

Puk, puk! Kto tam? Eeeee... Spadaj!

Zdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

ZiMSK. Routing statyczny, ICMP 1

Tychy, plan miasta: Skala 1: (Polish Edition)

OpenPoland.net API Documentation

Zarządzanie sieciami telekomunikacyjnymi

Camspot 4.4 Camspot 4.5

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

1. W systemie Windows przejdź do Panel sterowania> Sieć i Internet> Centrum sieci i udostępniania.

Installation of EuroCert software for qualified electronic signature

HAPPY ANIMALS L01 HAPPY ANIMALS L03 HAPPY ANIMALS L05 HAPPY ANIMALS L07

HAPPY ANIMALS L02 HAPPY ANIMALS L04 HAPPY ANIMALS L06 HAPPY ANIMALS L08

USB 306/307 Modem. Quick Start Guide Pierwsze kroki.

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Cel szkolenia. Konspekt

OD MONOLITU DO MIKROUSŁUGI MICROSERVICES

Linux -- u mnie działa!

IEEE Centronics

Testy penetracyjne Przykłady programów

Współczesne systemy komputerowe

Integracja z systemem Nagios

Technologie Komponentowe. Piotr Łukasik p /

Zdecyduj: Czy to jest rzeczywiście prześladowanie? Czasem coś WYDAJE SIĘ złośliwe, ale wcale takie nie jest.

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Krok 2 Podłącz zasilanie do routera bezprzewodowego. Uruchom komputer i zaloguj się jako administrator.

Ada95 przetwarzanie rozproszone

Ada95 przetwarzanie rozproszone

Wpływ dyrektywy PSD II na korzystanie z instrumentów płatniczych. Warszawa, 15 stycznia 2015 r. Zbigniew Długosz

DODATKOWE ĆWICZENIA EGZAMINACYJNE

Rev Źródło:

y = The Chain Rule Show all work. No calculator unless otherwise stated. If asked to Explain your answer, write in complete sentences.

Inwentaryzacja zasobów informatycznych


Praca zdalna z poziomu systemu Linux

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

EXCEL PL PROGRAMOWANIE PDF

Instalacja i konfiguracja serwera SSH.

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

ANKIETA ŚWIAT BAJEK MOJEGO DZIECKA

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader

Rozproszony system kontroli wersji GIT. Piotr Macuk

LED PAR 56 7*10W RGBW 4in1 SLIM

Know your tools KVM. Dariusz Puchalak Dariusz_Puchalak < at > ProbosIT.pl

Jak zasada Pareto może pomóc Ci w nauce języków obcych?

Instrukcja obsługi User s manual

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

Laboratorium - Konfiguracja routera bezprzewodowego w Windows 7

System operacyjny Linux

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

kdpw_stream Struktura komunikatu: Status komunikatu z danymi uzupełniającymi na potrzeby ARM (auth.ste ) Data utworzenia: r.

* konfiguracja routera Asmax V.1501 lub V.1502T do połączenia z Polpakiem-T lub inną siecią typu Frame Relay

Administracja serwerami

Sargent Opens Sonairte Farmers' Market

Sieci komputerowe Warstwa aplikacji

DO MONTAŻU POTRZEBNE SĄ DWIE OSOBY! INSTALLATION REQUIRES TWO PEOPLE!

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Wordpress. Wstęp do tworzenia pluginów. Piotr Wasilewski wasilewski.piotrek (at) gmail.com

ELF. system: pokój młodzieżowy / teenagers room MEBLE MŁODZIEŻOWE / YOUTH ROOM FURNITURE ELF

ZADANIE.02 Cisco.&.Juniper Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h

Mouse Tracer Fiorano RF

Car MP3 Player MM211. Aby zapewnić prawidłową obsługę sprzętu zapoznaj się dokładnie z instrukcją i zachowaj ją na przyszłość.

Firewall bez adresu IP

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Transkrypt:

Automatyzacja Ansiblem - poza zarządzaniem konfiguracją systemów. Opowieści z pola bitwy. Dariusz Puchalak IT Consultant and Trainer OSEC

Dariusz Puchalak 20+ lat Linux/Unix Sysadmin 10+ lat trener 4+ lat w OSEC

http://www.osec.pl Od 2009 na rynku doświadczona kadra (ACNI, RHCA) specjalizacja open-source subskrypcje, szkolenia, konsultacje

Czy automatyzacja to tylko zarządzanie konfiguracją?

Czy automatyzacja to tylko zarządzanie konfiguracją? Czy można zlecić wymianę routera prawie dowolnej osobie? Upgrade firmwareu? Wgranie właściwej konfiguracji? Dodanie niewspieranych elementów konfiguracji? Fizyczną wymianę sprzętu?

ubiquity-edgemax-initialize DEMO

Ansible pod kątem Disaster Recovery???

DR z Ansible DEMO: ansible-inventory -i hosts-demo2 graph ansible-inventory -i hosts-demo2 host=kapral.fw.corp ansible-inventory -i hosts-demo2 list ansible-inventory -i hosts-demo2 --graph --vars

Dokumentacja do DR z Ansible? DEMO: ansible-playbook production.yml -i hosts-demo2 list-tags ansible-playbook production.yml -i hosts-demo2 --list-tasks --tags shorewall

DR z Ansible jako narzędzie do wdrażania nowych systemów. DEMO: ansible-playbook production.yml -i hosts-demo2 skip-tags check_mk,bareos

"Houston, we've had a problem here."

"Houston, we've had a problem here." DEMO

Czy nam się systemy rozjechały? time ANSIBLE_STDOUT_CALLBACK=actionable ansible-playbook production.yml --user rootdp --skip-tags bareos --limit some-linux -CD Przykładowy wynik działania podczas pokazu u jednego z klientów to: 980 linii kontra 5563 :)

Dynamicznie dodajmy hosta.

Gdy sieć nie pozwala OpenSSH na ratunek..ssh/config:... Host hostb ProxyCommand ssh hosta nc %h %p HostName 10.1.8.31 Host hosta HostName 172.16.48.10... bash$ ssh hostb

Gdy sieć nie pozwala OpenSSH na ratunek..ssh/config: Include config-*.ssh/config-important.corp: Host *.important.corp ProxyCommand ssh jumphost.corp nc %h %p IdentitiesOnly yes IdentityFile ~/.ssh/important.corp/id_ecdsa ControlMaster auto ControlPersist 30m ControlPath ~/.ssh/controlpath/%c UserKnownHostsFile ~/.ssh/known_hosts ~/.ssh/known_hosts_important.corp

Gdy sieć nie pozwala OpenSSH na ratunek..ssh/config-dom: Host unison User puchalakd Match Host unison!exec "host -t A unison.net.puchalak" HostName 192.168.1.125 ProxyCommand ssh pluton-remote nc %h %p Host unison HostName 192.168.1.125

Gdy sieć nie pozwala OpenSSH na ratunek. Crontab systemu gdzieś na obrzerzach internetu bez dostępu po VPNie za NATem. * * * * * flock -w 0 -n /root/.call.back ssh -i /root/.call.back -o BatchMode=yes -o ExitOnForwardFailure=yes -R 12345:localhost:22 puchalakd@somewhere.internet exit 0.ssh/config: Host private.behind.nat HostName 127.0.0.1 Port 12345 ProxyCommand ssh pluton-remote nc %h %p

Gdy sieć nie pozwala OpenSSH na ratunek. man ssh_config DynamicForward 1080 Specifies that a TCP port on the local machine be forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine.

Gdy sieć nie pozwala OpenSSH na ratunek. http://docs.ansible.com/playbooks_environment.html It is quite possible that you may need to get package updates through a proxy, or even get some package updates through a proxy and access other packages not through a proxy.

Gdy sieć nie pozwala OpenSSH na ratunek. http://docs.ansible.com/playbooks_environment.html - hosts: all remote_user: root tasks: - apt: name=cobbler state=installed environment: http_proxy: http://proxy.example.com:8080

Gdy sieć nie pozwala OpenSSH na ratunek. https://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html To avoid blocking or timeout issues, you can use asynchronous mode to run all of your tasks at once and then poll until they are done. Pomysł: Asynchroniczne taski z ssh DynamicForward do systemu gdzie nie ma blokady internetu RemoteForward z portem na którym zrobiliśmy DynamicForward environment: localhost:remoteforwardport Wynik: nielimitowany internet dla systemu w dowolnym miejscu.

Najlepsze praktyki. Role Budujcie Role role powinny robić tylko jedną rzecz Uwaga na konflikt nazw zmiennych Podwójna Rola uwaga na handlery może i powinna być uniwersalna (ale nie zawsze wiele dystrybucji, Linux, Windows, urządzenia sieciowe ogarnięte w jeden roli mają sens. Lepiej użyć zależności lub include_role/import_role).

Najlepsze praktyki. Tags Używać zawsze i wszędzie :) Testować w trybie dry-run Testować poprzez uruchomienie tylko z danym tagiem ( tags testowany) Pamiętać o dobrym otagowaniu zadań z modułami non-idempotent (np.. shell, raw, command). Oraz jeśli nic nie zmieniają to dodaniu check_mode: no. Min 2-3 tagi: Ogólny do zadania Szczegółowy dot. danego zadania

Łączyc kod dla systemów Linuksowych.

Oddzielnie traktować Linuksy i Windowsy.

Oddzielnie traktować Linuksy i Windowsy. puchalakd@neptune:~/ansible-demo$ ansible -m setup w2k12 grep reboot "ansible_reboot_pending": false, puchalakd@neptune:~/ansible-demo$ ansible -m setup localhost grep reboot puchalakd@neptune:~/ansible-demo$ root@pluton:~# needrestart -rl -pk ; echo $? CRIT - Kernel: 4.9.0-7-amd64!=4.9.0-8-amd64 (!) Kernel=2;0;;0;2 2

Urządzenia sieciowe Traktować każdą rodzinę jak osobną bajkę. Używać Ansible 2.5+

Pluginy Przeglądać dokumentacje pluginów. Można znaleźć coś ciekawego np: https://docs.ansible.com/ansible/2.5/plugins/callback/selective.html This callback only prints tasks that have been tagged with print_action or that have failed. This allows operators to focus on the tasks that provide value only.

Jinja filters.

Jinja filters.

Jinja filters.

Pytania? Dariusz.Puchalak@osec.pl