Automatikus infrastruktúra menedzsment és alkalmazástelepítés
-
Upload
breanna-hampson -
Category
Documents
-
view
35 -
download
1
description
Transcript of Automatikus infrastruktúra menedzsment és alkalmazástelepítés
![Page 1: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/1.jpg)
1Budapesti Műszaki és Gazdaságtudományi EgyetemMé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
![Page 2: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/2.jpg)
2
DEMO
Telepítés kézzelo „Release unit”o Másolás utáni egyéb beállítások: pl. registry
Telepítő scripto Telepítés automatizálásao Á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ítetteo Most pontosan mi is van fent?o Milyen infrastruktúrával tudok számolni?
Egyszerű alkalmazás telepítése
![Page 3: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/3.jpg)
3
Tartalom
Automatikus konfigurációkezeléso Környezetfüggő konfigurációo Dinamikus konfigurációk
![Page 4: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/4.jpg)
4
Motiváció Nagyméretű infrastruktúra menedzsmentje
o Központosított megoldás Hasonló konfigurációs igények, ismétlődő
feladatoko Sablon alapú technológia
Automatikus alkalmazástelepítéso Felügyelő és beavatkozó komponensek
Dinamikus infrastruktúra menedzsmento Automatikus igény szerinti alkalmazás telepítés
![Page 5: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/5.jpg)
5
Konfigurációmenedzsment eszköz Lehetővé teszi
o Konfigurációs beállítások deklaratív megadásáto Igény esetén a konfiguráció elvégzését
Legtöbbször tartalmaz valamilyen CMDB megoldást
Technológiáko CFEngineo Puppeto Chefo stb.
![Page 6: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/6.jpg)
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ásao Azt mondjuk, mit szeretnénk, nem azt, hogyano Cookbooks, recipes
Központi infrastruktúra adatbáziso Attribútumok, futási listák (run list)
![Page 7: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/7.jpg)
7
Chef architektúra
Kliens
Konfigurációmenedzsment szerver
Menedzselt csomópontok
Ágens: chef-client
Kliens:Böngésző vagy
Knife eszköz
![Page 8: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/8.jpg)
8
DEMO
Szükséges erőforrásokoWebszerver (Apache), PHP, stb.oWebes alkalmazáso 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
![Page 9: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/9.jpg)
9
Deklaratív konfigurációmegadás Recept (recipe)
o Erőforrások deklaratív megadásao Ruby nyelv
Szakácskönyv (cookbook)o Recepteko Attribútumoko Sablonoko Stb.
![Page 10: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/10.jpg)
10
Deklaratív konfigurációmegadás Szerep (role)
o Receptek felsorolása Csomópont (node)
o Szerepeko Recepteko Attribútumok
![Page 11: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/11.jpg)
11
Receptekpackage "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 :enableend
![Page 12: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/12.jpg)
12
Fontosabb erőforrások Csomag Felhasználó Csoport Cronjob SVN repository Mount IPConfig
![Page 13: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/13.jpg)
13
Fontosabb erőforrások Fájlok
o Cookbookban definiálto Távoli URL-en elérhető
Könyvtárako Cookbookban definiált
![Page 14: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/14.jpg)
14
Fontosabb erőforrások Sablonok
o Paraméterezhető fájloko Különböző típusú paraméterek• Egész érték• String érték• Objektum
# ports.conf by chef<% @ports.each do |l| -%>Listen <%= l %><% end -%>
![Page 15: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/15.jpg)
15
Fontosabb erőforrásoktemplate "/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
![Page 16: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/16.jpg)
16
Változók Mitől lesz ez testre szabható?
Változók definiálásao Cookbook szinteno Role szinteno Node szinten
![Page 17: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/17.jpg)
17
DEMO
Attribútum beállításao Role-tól függőeno Node-tól függően
Pl.:o HTTP port beállításao Alkalmazás paraméterének beállítása
Webes rendszer testreszabott beállítása
![Page 18: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/18.jpg)
18
Chef search Mitől lesz környezetfüggő a konfiguráció?
Konfiguráció adatbázisban információk vannak a hosztokrólo IP címo Hoszt neveo Lefuttatott recepteko OS típus, verzióo Stb.
![Page 19: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/19.jpg)
19
Chef search CMDB információk felhasználása
o Receptekbeno Sablonokban
Pl.:
hosts = search(:node, "recipes:irfapp") .map { |n| webhost_data(n) }
![Page 20: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/20.jpg)
20
DEMO
Egyszerű HTTP proxy (HAProxy)o Telepítéso Konfigurálás• Működő webszerverek felsorolása
Webes terheléselosztó beállítása
![Page 21: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/21.jpg)
21
Modern, skálázható alkalmazások Cloud környezet Igény szerinti rendszerkonfiguráció
o Pl.: Terhelés függő webszerver mennyiségo VM gyorsan igényelhető és eldobható
Alkalmazásnak is támogatnia kello Állapotmentes komponenseko Laza csatolásoMinden komponens kívülről konfigurálható
Lásd félév második felében: Virtualizáció és Cloud
![Page 22: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/22.jpg)
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?
![Page 23: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/23.jpg)
23
MotivációAdottságok
Dinamikusan változó terheléso időszakoso 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ásoko infrastruktúra
• Cloud
Gép által vezérelt megvalósítás
Monitorozás
![Page 24: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/24.jpg)
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/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ásao Eszköz példa
• Puppet http://www.puppetlabs.com/o Megvalósítás alapja
• Erőforrásháló alapjáno Mikor jó
• Viszonylag statikus konfiguráció
![Page 25: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/25.jpg)
25
A kofigurációs rendszer főbb feladatai
Konfigurációs modell
Gépvezérelt konfigurálás
Monitorozás
Beavatkozás
![Page 26: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/26.jpg)
26
Állapotgép alapú megoldás – GLU Konfigurációs állapotgép
= egy véges állapotgép (Finite State Machine)
Konfigurációs állapotKonfigurációs
átmenetKezdőállapot
(Kályha)
![Page 27: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/27.jpg)
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)
![Page 28: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/28.jpg)
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.
![Page 29: Automatikus infrastruktúra menedzsment és alkalmazástelepítés](https://reader035.fdocument.pub/reader035/viewer/2022062314/5681353a550346895d9c9ed0/html5/thumbnails/29.jpg)
29
További információ Chef: systems integration framework
GLU: Deployment Automation Platform