Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o.



Podobne dokumenty
Usługi sieciowe systemu Linux

Administratora CSIZS - OTM

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

System kontroli dostępu ACCO NET Instrukcja instalacji

Win Admin Replikator Instrukcja Obsługi

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

System kontroli wersji git

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Aplikacje internetowe - laboratorium

Konfiguracja SNMP z wykorzystaniem pakietu MRTG

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Win Admin Replikator Instrukcja Obsługi

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Win Admin Replikator Instrukcja Obsługi

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Git, Bitbucket, IntelliJ IDEA

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Pracownia specjalistyczna. Numer ćwiczenia: 5.

ibok Internetowe Biuro Obsługi Klienta

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

SVN sojusz, partnerstwo, współpraca

Aktualizacja Oprogramowania do Obsługi Świadczeń do wersji G

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

HermesEX. Dokumentacja serwisowa v

instrukcja INSTALACJI APi_proxy

Wykaz zmian w programie WinAdmin Replikator

Aplikacje WWW - laboratorium

Instalacja i konfiguracja serwera IIS z FTP

Instalacja i konfiguracja serwera SSH.

Wdrożenie modułu płatności eservice. dla systemu Magento

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax.

Witaj, jeżeli przegladasz ten plik oznacza że chcesz stworzyć własnego masterka. No cóż koniec bełkotania bierzmy się za zrobienie mastera!

Win Admin Monitor Instrukcja Obsługi

Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Sieciowa instalacja Sekafi 3 SQL

SERWER AKTUALIZACJI UpServ

Program kadrowo płacowy - wersja wielodostępna z bazą danych Sybase SQL Anywhere 8 lub 9 (Windows/Linux)

DESlock+ szybki start

Internetowy serwis Era mail Aplikacja sieci Web

System operacyjny Linux

Linux LAMP, czyli Apache, Php i MySQL

SoftVig Systemy Informatyczne Sp. z o.o. Szczecin , ul. Cyfrowa 4

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Środowisko programisty. Środowisko programisty 1/35

Podręcznik instalacji i konfiguracji aplikacji 7 Office Ship Control dla Microsoft Office 2007 i Siódemka S.A. Warszawa, dnia r.

UNIFON podręcznik użytkownika

Program dla praktyki lekarskiej

e-audytor v.3.x INSTRUKCJA INSTALACJI I URUCHOMIENIA SYSTEMU

Bezpieczeństwo systemów informatycznych

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

ERP CONNECTOR V1.0 INSTRUKCJA INSTALACJI ORAZ KONFIURACJI. Wersja dokumentu 1.4

Wykaz zmian w programie WinAdmin Replikator

Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW. Wymagania

Konfiguracja podglądu obrazu z kamery IP / rejestratora BCS przez sieć LAN.

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

Należy ściągnąć oprogramowanie Apache na platformę

Instrukcja instalacji usługi Sygnity Service

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

INSTRUKCJA INSTALACJI I OBSŁUGI ZBIORCZE E-DEKLARCJE. dla Kadr Plac i ZUS PRO

Instrukcja konfiguracji programu Fakt z modułem lanfakt

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Synchronizator plików (SSC) - dokumentacja

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2000 Dokument: Raport Numer: 22/2012 Wydanie: Waga: 90

Technologie informacyjne lab. 4

INFRA. System Connector. Opis systemu

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

KS-ZSA. Mechanizm centralnego zarządzania rolami

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

ACCO NET. System kontroli dostępu. Instrukcja instalacji

4. Podstawowa konfiguracja

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

Moduł integrujący serwis Korporacji Kurierskiej z programem WF-MAG Instrukcja użytkowania

Instrukcja instalacji połączenia sterownika PL11-MUT24 ze stroną internetową.

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Win Admin Replikator Instrukcja Obsługi

Firewall bez adresu IP

MikroTik Serwer OpenVPN

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Administratorzy systemów, inżynierowie, konsultanci, którzy wdrażają i zarządzają rozwiązaniami opartymi o serwery HP ProLiant

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT CEIDG MONITOR

ZADANIE.08 RADIUS (authentication-proxy, IEEE 802.1x) 2h

INSTRUKCJA INSTALACJI APLIKACJI SEPI W SYSTEMIE LINUX. Dokumentacja zasilania aplikacji SEPI dla systemu Linux

Kancelaria Prawna.WEB - POMOC

Instrukcja instalacji oprogramowania dla środowiska Windows

WYDRA BY CTI. WYSYŁANIE DOKUMENTÓW ROZLICZENIOWYCH I ARCHIWIZACJA Instrukcja do programu

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Transkrypt:

Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o.

Instalacja środowiska Minimalne wymagania: OS Type: Linux Arch: x86_64 HDD: 5G RAM: 1G CPU: 1 Network: bridge na Wi-Fi Pierwszy rozruch po sieci (PXE) Dostęp do systemu: root / puppet IP: 10.10.1.x SID: OSD2014_LAB_A PASSWORD: OSD2014_LAB

Puppet co to jest? Narzędzie do automatyzacji wprowadzenia i utrzymania konfiguracji infrastruktury Dane Opis Kompilator dla infrastruktury

Puppet podłączenie nowego hosta Cała komunikacja oparta jest o certyfikaty SSL. Puppet master działa jako lokalne CA. Dane Opis SR) C (! nowy u t tem ój s w e j t, t ć s ś je Cze j! To (CRT) a t i W kat. i f y t r ce Cześ ć, jes tem tu nowy Nic o! (CS t o b R) i e Musis n z cze ie wiem. kać n a zgo dę po dłącz enia. Cała komunikacja jest szyfrowana.

Puppet przygotowanie katalogu Każdy podłączony host wysyła zbiór informacji o sobie (facts). Dane Opis ojej m o cje a m r o inf cji. To są konfigura ać ie d b ą l e i g la C inien wy d m e wał jak pow o t o g Przy catalog) to on ( opis system. O Twój Na podstawie dostarczonych informacji oraz danych i opisu, puppet master przygotowuje katalog zawierający opis wyglądu systemu.

Puppet dostosowanie konfiguracji Na podstawie dostarczonego katalogu puppet agent dostosowuje wygląd systemu. Dane Opis Widzę, że czeka mnie sporo pracy Całe szczęście mam szczegółowy opis. Zrobię to!

Puppet raportowanie Po każdej zmianie wysyłany jest raport z informacją o stanie przed i po każdej wprowadzonej modyfikacji. Dane Opis Lekko nie było ale UDAŁO SIĘ! :) Oto opis rzeczy, które musiałem zmienić. Widoczność zmian konfiguracji

Puppet utrzymanie konfiguracji Cyklicznie puppet agent zgłasza się ponownie po opis wyglądu systemu. Dane ny? a i m śz Jakie iąż c w ę, że i s j i n Upew dasz jak ą wygl Opis Pewność wyglądu systemu

Puppet raportowanie Nawet przy braku zmian puppet agent informuje o poprawnej konfiguracji systemu. Dane Opis Właśnie wróciłem z obchodu. Wszystko jest w należytym porządku. Pewność wyglądu systemu

Puppet - po co mi to? Jaki jest stan systemów? Czy oba mają taką samą konfigurację? Czym się różnią i dlaczego? Cykl życia: - awarie, - nowe wersje aplikacji, - modyfikacje, -... czas Provisioning dwóch identycznych systemów.

Puppet - po co mi to? Opis czas Provisioning dwóch identycznych systemów.

Puppet czym jest opis? typ tytuł Opis parametry Przy opisie wyglądu środowiska posługujemy się nazwą typu zasobu którym chcemy doprowadzić do pożądanego stanu, jego tytułem oraz parametrami które pozwalają szczegółowo opisać stan danego zasobu.

Puppet czym jest opis? typ tytuł Opis parametry apt-get install wget yum install wget pacman sync wget Provider odpowiedzialny jest za realizację opisanego stanu. Puppet automatycznie dopiera odpowiedni providera na bazie faktów.

Puppet trochę komend Lista dostępnych typów: puppet describe --list Pomoc: puppet help puppet help <subcommand> puppet describe <typ> Lista dostępnych parametrów dla typu

Puppet realizacja lokalna Zbiór definicji umieszczamy w manifestach manifest_01.pp Weryfikacja poprawności kodu: puppet parser velidate <plik> Wprowadzenie opisu z manifestu lokalnie: puppet apply <plik>

Puppet moduły Moduły służą do grupowania opisu elementów systemu puppet/modules/apache/manifests/init.pp Przypisanie moduły do systemu: puppet/manifests/site.pp zależność między zasobami Wymuszenie wykonania jednego przebiegu puppet agenta: [root@workstation001 ~]$ puppet agent -t

Puppet moduły i wiele systemów Facter dostarcza nam informacji o systemie puppet/modules/apache/manifests/init.pp fakt zmienna Realizacja: yum install httpd service httpd start apt-get install apache2 service apache2 start Pobranie faktów dla z systemu [root@workstation001 ~]$ facter

Puppet konstrukcje językowe Konstrukcja if : Selektor: Konstrukcja case : Konstrukcje językowe pozwalają na sterowanie realizacją opisu w zależności od charakterystyk systemów

Środowisko warsztatowe puppet.lab IP: 10.10.1.254 workstationx.lab IP: 10.10.1.X puppet agent -t /root/puppetcode git push origin master Dostęp do systemu: root / puppet

Zadanie1: Plik: zadanie1.pp 1. Zainstaluj program mc 2. Plik /usr/local/bin/hello po uruchomieniu wyświetla Hello World 3. Plik należy do grupy sysadmins 4. Właścicielem pliku jest admin 5. admin należy do grupy sysadmins 6. Członkowie grupy i właściciel mogą wykonać skrypt, ale tylko właściciel może go edytować Sprawdzenie składni: puppet parser validate zadanie1.pp Wykonanie manifestu: puppet apply zadanie1.pp Sprawdzenie ukończenia zadania: validate_zadanie1

Zadanie2: Dodaj plik: cd /root/puppetcode mkdir -p modules/apache/manifests vim modules/apache/manifests/init.pp 1. Uruchom serwis apache 2. Niech strona główna wyświetla tekst Hello from workstationx.lab X to Twój numer stacji Uzupełnij plik /root/puppetcode/site.pp o wpis: Wyślij konfigurację do puppet mastera: cd /root/puppetcode git add. git commit -a -m 'apache' git push origin master Wykonaj przebieg puppet agenta: puppet agent -t Sprawdzenie ukończenia zadania: validate_zadanie2

Zadanie3: Zmodyfikuj plik: cd /root/puppetcode vim modules/apache/manifests/init.pp Puppet kontroluje poprawność konfiguracji usługi apache. Skopiuj plik /etc/httpd/conf/httpd.conf i umieść go w module puppeta cd /root/puppetcode mkdir -p modules/apache/files cd modules/apache/files cp /etc/httpd/conf/httpd.conf. Wyślij konfigurację do puppet mastera: cd /root/puppetcode git add. git commit -a -m 'apache v2' git push origin master Zmodyfikuj plik: /etc/httpd/conf/httpd.conf Wykonaj przebieg puppet agenta: puppet agent -t Sprawdź czy puppet przywrócił konfigurację.

Zadanie4: Dodaj plik: cd /root/puppetcode mkdir -p modules/hosts/manifests vim modules/hosts/manifests/init.pp Uzupełnij wpisy w /etc/hosts tak aby twój system wiedział o wszystkich stacjach warsztatowych. Wyślij konfigurację do puppet mastera: cd /root/puppetcode git add. git commit -a -m 'hosts' git push origin master Wykonuj przebieg puppet agenta: puppet agent -t Uzupełnij plik /root/puppetcode/site.pp o wpis: Obserwuj plik /etc/hosts Sprawdź czy możesz dostać się do serwisu apache uruchomionego na innych stacjach, np.: curl workstation102 X to Twój numer stacji

Zadanie5: Tym razem bez rozwiązania :) - utworzyć nowy moduł (/root/puppetcode/module/ftp) 1. Napisz moduł puppeta, który skonfiguruje usługę ftp (vsftpd) na systemie. 2. Upewnij się, że usługa jest uruchomiona i jest dodana do autostartu. 3. Upewnij się, że puppet dba o poprawność pliku konfiguracyjnego. 4. Użytkownik root powinien mieć możliwość umieszczania i pobierania plików z serwera ftp. - przypisać moduł do zarządzanego systemu (/root/puppetcode/site.pp) - umieść przy pomocy gita zmiany na serwerze puppet mastera - wykorzystaj wzorzec projektowy z zadania3 (pakiet plik konfiguracyjny serwis) - wykorzystaj puppet agenta do wprowadzenia opisanych zmian Powodzenia!

Fakty systemowe: - lista wszystkich faktów: facter - wyświetlenie pojedynczego faktu: facter is_virtual facter fqdn Pomocy puppeta: - list wszystkich podkomend puppet help - pomoc dla wybranej podkomendy puppet help <subcommand> Uzyskanie listy wszystkich dostępnych typów: puppet describe list Szczegółowy opis wybranego typu: puppet descirbe <typ> Wykonanie manifestu lokalnie: puppet apply <manifest> Wymuszenie jednego przebiegu puppet agenta: puppet agent -t Sprawdzenie poprawności składni manifestu: puppet parser validate <manifest> Zmienne puppeta: $nazwa Dostęp do faktów: $::nazwa_faktu Odwołania do zasobów: Typ['tytuł'] Zasób puppeta: typ { 'tytuł': parametr1 => 'wartość1', parametr2 => 'wartość2', } Moduł puppeta, na przykładzie apache: plik: apache/manifests/init.pp class apache {... } Przypisanie modułu do hosta: plik: site.pp node 'puppet.lab' { include apache } Konstrukcje językowe: case $zmienna { if warunek { 'wartość1': {...}... 'wartość2': {...} } elsif warunek { default: {...}... } } else {... $zmienna1 = $zmienna2? } 'wartość1' => 'zwróć1', 'wartość2' => 'zwróć2', default => 'zwróć def', }

Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o.