Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGergely Pataki Megváltozta több, mint 10 éve
1
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Automatikus infrastruktúra menedzsment és alkalmazástelepítés Szatmári Zoltán Intelligens rendszerfelügyelet
2
2 DEMO Telepítés kézzel o „Release unit” o Másolás utáni egyéb beállítások: pl. registry Telepítő script o Telepítés automatizálása o Általános és gép/felhasználó-specifikus beállítások szétválasztása Felügyelet?? o Hova, mikor, ki, miért telepítette o Most pontosan mi is van fent? o Milyen infrastruktúrával tudok számolni? Egyszerű alkalmazás telepítése
3
3 Tartalom Automatikus konfigurációkezelés o Környezetfüggő konfiguráció o Dinamikus konfigurációk
4
4 Motiváció Nagyméretű infrastruktúra menedzsmentje o Központosított megoldás Hasonló konfigurációs igények, ismétlődő feladatok o Sablon alapú technológia Automatikus alkalmazástelepítés o Felügyelő és beavatkozó komponensek Dinamikus infrastruktúra menedzsment o Automatikus igény szerinti alkalmazás telepítés
5
5 Konfigurációmenedzsment eszköz Lehetővé teszi o Konfigurációs beállítások deklaratív megadását o Igény esetén a konfiguráció elvégzését Legtöbbször tartalmaz valamilyen CMDB megoldást Technológiák o CFEngine o Puppet o Chef o stb.
6
6 Chef – főzzünk egy infrastruktúrát Infrastruktúra automatizációs megoldás Deklaratív konfigurációleírás támogatása o Azt mondjuk, mit szeretnénk, nem azt, hogyan o Cookbooks, recipes Központi infrastruktúra adatbázis o Attribútumok, futási listák (run list)
7
7 Chef architektúra Kliens Konfigurációmenedzsment szerver Menedzselt csomópontok Ágens: chef-client Kliens: Böngésző vagy Knife eszköz
8
8 DEMO Szükséges erőforrások o Webszerver (Apache), PHP, stb. o Webes alkalmazás o Konfigurációs beállítások 1 gép esetén kézzel, 10 vagy 100 esetén már automatizáltan Webes alkalmazás telepítése
9
9 Deklaratív konfigurációmegadás Recept (recipe) o Erőforrások deklaratív megadása o Ruby nyelv Szakácskönyv (cookbook) o Receptek o Attribútumok o Sablonok o Stb.
10
10 Deklaratív konfigurációmegadás Szerep (role) o Receptek felsorolása Csomópont (node) o Szerepek o Receptek o Attribútumok
11
11 Receptek package "apache2" package "apache2-mpm-prefork" a2enmod "ldap" do file "ldap.load" notifies :reload, "service[apache2]" end service "apache2" do supports :status => true, :restart => true, :reload => true action :enable end
12
12 Fontosabb erőforrások Csomag Felhasználó Csoport Cronjob SVN repository Mount IPConfig
13
13 Fontosabb erőforrások Fájlok o Cookbookban definiált o Távoli URL-en elérhető Könyvtárak o Cookbookban definiált
14
14 Fontosabb erőforrások Sablonok o Paraméterezhető fájlok o Különböző típusú paraméterek • Egész érték • String érték • Objektum # ports.conf by chef Listen
15
15 Fontosabb erőforrások template "/etc/apache2/ports.conf" do source "apache2/ports.conf.erb" mode 644 owner "root" group "root" variables( :ports => node[:apache2][:ports] ) notifies :reload, "service[apache2]" end
16
16 Változók Mitől lesz ez testre szabható? Változók definiálása o Cookbook szinten o Role szinten o Node szinten
17
17 DEMO Attribútum beállítása o Role-tól függően o Node-tól függően Pl.: o HTTP port beállítása o Alkalmazás paraméterének beállítása Webes rendszer testreszabott beállítása
18
18 Chef search Mitől lesz környezetfüggő a konfiguráció? Konfiguráció adatbázisban információk vannak a hosztokról o IP cím o Hoszt neve o Lefuttatott receptek o OS típus, verzió o Stb.
19
19 Chef search CMDB információk felhasználása o Receptekben o Sablonokban Pl.: hosts = search(:node, "recipes:irfapp").map { |n| webhost_data(n) }
20
20 DEMO Egyszerű HTTP proxy (HAProxy) o Telepítés o Konfigurálás • Működő webszerverek felsorolása Webes terheléselosztó beállítása
21
21 Modern, skálázható alkalmazások Cloud környezet Igény szerinti rendszerkonfiguráció o Pl.: Terhelés függő webszerver mennyiség o VM gyorsan igényelhető és eldobható Alkalmazásnak is támogatnia kell o Állapotmentes komponensek o Laza csatolás o Minden komponens kívülről konfigurálható Lásd félév második felében: Virtualizáció és Cloud
22
22 Állapotgép alapú megközelítés Visszafele is működik? o El tudom távolítani a telepített erőforrásokat? o Le tudom állítani a szolgáltatásokat? Mi történik, ha valami futás közben változik? o Hiba lép fel? o Túlterhelés következik be?
23
23 Motiváció Adottságok Dinamikusan változó terhelés o időszakos o tervezett Konfigurációk telepítése/ karbantartása Hibás viselkedés automatikus észlelése Szükséges támogatás Jól skálázható (scalable) o alkalmazások o infrastruktúra • Cloud Gép által vezérelt megvalósítás Monitorozás
24
24 Megközelítések Állapotgép alapú megközelítés o Eszköz példa • GLU (az előadáson ezzel foglalkozunk) https://github.com/linkedin/gluhttps://github.com/linkedin/glu o Megvalósítás alapja • A szolgáltatások konfigurációjának állapotgépként való leírása o Mikor jó • Statikus és dinamikus konfigurációra is • Statikusnál jelentős lehet az overhead Célkonfiguráció deklarálása és állapot fenntartása o Eszköz példa • Puppet http://www.puppetlabs.com/http://www.puppetlabs.com/ o Megvalósítás alapja • Erőforrásháló alapján o Mikor jó • Viszonylag statikus konfiguráció
25
25 A kofigurációs rendszer főbb feladatai Konfigurációs modell Gépvezérelt konfigurálás MonitorozásBeavatkozás
26
26 Állapotgép alapú megoldás – GLU Konfigurációs állapotgép = egy véges állapotgép (Finite State Machine) Konfigurációs állapot Konfigurációs átmenet Kezdőállapot (Kályha)
27
27 Véges állapotgép 1 token van a rendszerben Nem keletkeznek és nem is tűnnek el tokenek A token jelöli ki az aktuális állapotot (Digitből ismerősnek kell lennie) Kezdőállapot (Kályha)
28
28 Miért jó ez az egész? Automatikusan tudunk telepíteni 10, 100, 1000… gépet Ha ügyesen írjuk meg a szkripteket, akkor szinte autonóm rendszert kapunk Hol használják? o GLU • linked-in (szakmai Facebook) o Chef • Amazoon EC2 • Stb.
29
29 További információ Chef: systems integration framework Chef: systems integration framework GLU: Deployment Automation Platform GLU: Deployment Automation Platform
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.