Szakács oktatóanyag - Az infrastruktúra átalakítása kódba



A Chef Tutorial a Chef blogsorozat második blogja. Ez a blog példákkal ismerteti a séf architektúráját és a séf összetevőit, például a szakácskönyveket, recepteket stb.

Szakács bemutató

A Chef Tutorial a Chef blogsorozat második blogja. Az én előző blog , Elmagyaráztam, hogy mi a séf, a konfigurációkezelés és hogyan éri el a séf a konfigurációkezelést a Gannett használati esetének segítségével.

Ebben a séf bemutatóban a következő témákat tárgyaljuk:





Biztos vagyok benne, miután elolvastam előző blog kíváncsi lehet, hogy pontosan hogyan működik a szakács. A Chef Tutorial blog első szakasza részletesen elmagyarázza Önnek a Chef architektúráját, amely minden kétségét kitisztítja.



iteratív fibonacci c ++

Szakács bemutató - Szakács építészet

Amint az alábbi ábrán látható, három fő szakácsösszetevő van:

  • Munkaállomás
  • szerver
  • Csomópontok

Szakács építészet - Szakács bemutató - Edureka

Szakács bemutató - Munkaállomás



A munkaállomás az a hely, ahonnan a Chef összes konfigurációja találhatósikerült. Ez a gép tárolja az összes konfigurációs adatot, amelyet később át lehet helyezni a központi Chef Serverre. Ezeket a konfigurációkat a munkaállomáson tesztelik, mielőtt a Chef Serverbe tolnák. A munkaállomás az úgynevezett parancssori eszközből áll Kés, amelyet a Chef Serverrel való interakcióra használnak. Több olyan munkaállomás is lehet, amelyek együttesen kezelik a központi Chef szervert.

A munkaállomások felelősek az alábbi funkciók elvégzéséért:

  • Szakácskönyvek és receptek írása, amelyek később a központi Chef Serverre kerülnek
  • Csomópontok kezelése a központi séfkiszolgálón

Most pedig értsük meg egyesével a fent említett pontokat.

Szakácskönyvek és receptek írása, amelyek később a központi Chef Serverre kerülnek

Receptek: A Recept egy erőforrások gyűjteménye, amely leír egy adott konfigurációt vagy házirendet. Leír mindent, ami a rendszer egy részének konfigurálásához szükséges. A felhasználó recepteket ír le, amelyek leírják, hogyan kezeli a séf az alkalmazásokat és a segédprogramokat (például az Apache HTTP Server, a MySQL vagy a Hadoop), és hogyan kell konfigurálni őket.

Ezek a receptek egy sor erőforrást írnak le, amelyeknek egy adott állapotban kell lenniük, azaz telepítendő csomagok, futó szolgáltatások vagy írandó fájlok.

Később a blogban , Megmutatom, hogyan kell receptet írni az Apache2 csomag Chef Nodes-re történő telepítéséhez, rubin kódot írva a Chef Workstation-be.

Szakácskönyvek: Több recept is csoportosítható, és egy szakácskönyv lesz. A szakácskönyv meghatároz egy forgatókönyvet, és mindent tartalmaz, amely az adott forgatókönyv támogatásához szükséges:

  • Receptek, amely meghatározza a felhasználandó erőforrásokat és az alkalmazás sorrendjét
  • Attribútumértékek
  • Fájlterjesztések
  • Sablonok
  • A Chef kiterjesztései, például könyvtárak, definíciók és egyéni források

Csomópontok kezelése a központi séfkiszolgálón

A munkaállomás rendszere rendelkezik a szükséges parancssori segédprogramokkal a központi séfkiszolgáló minden aspektusának ellenőrzéséhez és kezeléséhez. Az olyan dolgok, mint egy új csomópont hozzáadása a központi Chef szerverhez, egy csomópont törlése a központi Chef szerverről, a csomópont konfigurációinak módosítása stb., Mind kezelhetők magából a munkaállomásból.

Most nézzük meg, hogy a munkaállomás mely összetevőire van szükség a fenti funkciók végrehajtásához.

A munkaállomásoknak két fő alkotóeleme van:

Kés segédprogram: Ez a parancssori eszköz használható a munkaállomás központi chef szerverével való kommunikációra. A csomópontok konfigurációinak hozzáadása, eltávolítása és módosítása egy központi séfkiszolgálón ezzel a Knife segédprogrammal történik. A Knife segédprogrammal a szakácskönyvek feltölthetők egy központi séfkiszolgálóra és a Szerepkörök, a környezetek is kezelhetők. Alapvetően a központi séfkiszolgáló minden aspektusát a Knife segédprogrammal a munkaállomásról lehet vezérelni.

Helyi séftár: Ez az a hely, ahol a központi Chef Server minden konfigurációs összetevőjét tárolják. Ezt a Chef adattárat szinkronizálni lehet a központi Chef Server szerverrel (ismét maga a kés segédprogram segítségével).

Szakács bemutató - Szakács szerver

A Chef Server a konfigurációs adatok központjaként működik. A Chef Server tárolja a Cookbookokat, a csomópontokra alkalmazott házirendeket és a Chef-Client által kezelt minden regisztrált csomópontot leíró metaadatokat.

A csomópontok a Chef-Client használatával kérik meg a Chef Server szervertől a konfiguráció részleteit, például a recepteket, a sablonokat és a fájlterjesztéseket. A Chef-Client ekkor a lehető legtöbb konfigurációs munkát elvégzi magukon a Node-okon (és nem a Chef Serveren). Minden csomópontra telepítve van egy Chef Client szoftver, amely lehúzza a központi Chef Server kiszolgálójának az adott csomópontra vonatkozó konfigurációját. Ez a méretezhető megközelítés elosztja a konfigurációs erőfeszítéseket az egész szervezetben.

Szakács bemutató - Szakács csomópontok

A csomópontok lehetnek felhőalapú virtuális szerverek vagy a saját adatközpontjában található fizikai szerverek, amelyeket a központi Chef Server segítségével kezelnek. A fő összetevő, amelynek jelen kell lennie a csomóponton, egy ügynök, amely kapcsolatot létesít a központi séfkiszolgálóval. Ezt Chef Clientnek hívják.

A Chef Client a következő feladatokat látja el:

  • Feladata a központi séfkiszolgálóval való interakció.
  • Kezeli a csomópont kezdeti regisztrációját a központi Chef Serveren.
  • Lehúzza a szakácskönyveket, és a csomóponton alkalmazza őket a konfiguráláshoz.
  • A központi séfkiszolgáló rendszeres lekérdezése új konfigurációs elemek lehívása érdekében, ha vannak ilyenek.

Kattintson ide a Chef Server, a Workstation és a Node telepítéséhez

Szakács bemutató - A szakács előnyei:

Ez a séf bemutató hiányos lesz, ha nem veszem figyelembe a séf legfontosabb előnyeit:

  • A Chef segítségével automatizálhat egy teljes infrastruktúrát. A manuálisan elvégzett összes feladatot most a Chef eszközzel lehet elvégezni.
  • A Chef segítségével perceken belül több ezer csomópontot konfigurálhat.
  • A séf automatizálása a nyilvános felhő-ajánlatok többségével működik .
  • A séf nem csak automatizálja a dolgokat, hanem a rendszereket is folyamatosan ellenőrzi, és megerősíti, hogy a rendszer valóban a szükséges módon van konfigurálva (Chef Agent / Client végzi ezt a munkát). Ha valaki hibát követ el egy fájl módosításával, a Szakács kijavítja.
  • Egy teljes infrastruktúra rögzíthető egy Chef-tárház formájában, amely tervként használható az infrastruktúra nulláról történő újrateremtésére.

Remélem, hogy mostanáig élvezték ezt a Chef oktatóanyagot, elég az elméleti hozzászólásokhoz! érezzük jól magunkat a gyakorlattal.

Szakács bemutatója Első lépések a séfnél | Edureka

Szakács bemutató - gyakorlati

Itt elmagyarázom, hogyan készíthet receptet, szakácskönyvet és sablont a séf munkaállomáson. Azt is elmagyarázom, hogyan telepítsünk egy szakácskönyvet munkaállomásról Chef-Client-re (Chef Node).

Két virtuális képet használok a Chef Workstationhez, a másikat pedig a Chef Node-hoz. Chef Server esetén a Chef hosztolt verzióját fogom használni (felhőn). A Chef Serverhez fizikai gépet is használhat.

1. lépés: Telepítse a Chef DK-t (Fejlesztőkészlet) a Chef munkaállomásába.

A Chef DK egy olyan csomag, amely tartalmazza a Chef kódolásához szükséges összes fejlesztési eszközt. Itt található a letöltéshez szükséges link Szakács DK .

Itt válassza ki a használt operációs rendszert. CentOS 6.8-at használok. Tehát rákattintok Red Hat Enterprise Linux .

Másolja a linket a CentOS által használt verziójának megfelelően. CentOS 6-ot használok, mivel láthatja, hogy a fenti képernyőképen kiemeltem.

Lépjen a munkaállomás termináljára, és töltse le a Chef DK-t a wget paranccsal, és illessze be a hivatkozást.

Végezze el ezt:

wget https://packages.chef.io/stable/el/6/chefdk-1.0.3-1.el6.x86_64.rpm

A csomag letöltve. Itt az ideje telepíteni ezt a csomagot az rpm használatával.

Végezze el ezt:

rpm -ivh chefdk-1.0.3-1.el6.x86_64.rpm

A Chef DK telepítve van a munkaállomásomra.

2. lépés: Hozzon létre egy receptet a munkaállomáson

Kezdjük azzal, hogy létrehozunk egy receptet a munkaállomáson, és helyileg teszteljük, hogy biztosan működjön.Hozzon létre egy chef-repo nevű mappát. Ebben a mappában létrehozhatjuk a receptjeinket.

Végezze el ezt:

mkdir chef-repo cd chef-repo

Ebben a chef-repo könyvtárban létrehozok egy edureka.rb nevű receptet. .rb a rubinhoz használt kiterjesztés. A vim editor-ot fogom használni, bármilyen más szerkesztőt is használhatsz, például gedit, emac, vi stb.

Végezze el ezt:

vim edureka.rb

Itt adja hozzá a következőket:

file '/ etc / motd' content 'Welcome to Chef' vége

Ez az Recipe van dureka .rb létrehoz egy / etc / motd nevű fájlt „Welcome to Chef” tartalommal.

módszer túlterhelése és felülbírálása a java-ban

Most ezt a receptet fogom használni annak ellenőrzésére, hogy működik-e.

Végrehajt ez:

szakács-alkalmazza edureka.rb

Tehát van egy chef-repo-ban létrehozott fájl, amelynek van tartalma Üdvözöljük a szakácsnál.

3. lépés: Modificáló receptfájl a httpd csomag telepítéséhez

Módosítom a Receptet, hogy telepítsem a httpd csomagot a munkaállomásomra, és a telepítés megerősítéséhez átmásolok egy index.html fájlt az alapértelmezett dokumentumgyökérbe. A csomagerőforrás alapértelmezett művelete a telepítés, ezért nem kell külön megadnom ezt a műveletet.

Végrehajt ez:

vim edureka.rb

Itt adja hozzá a következőket:

csomag 'httpd' szolgáltatás 'httpd' művelet végrehajtása [: enable,: start] befejező fájl '/var/www/html/index.html' tartalom megadása 'Welcome to Apache in Chef' end

Most ezeket a konfigurációkat fogom alkalmazni az alábbi parancs végrehajtásával:

Végrehajt ez:

szakács-alkalmazza edureka.rb

A parancs végrehajtása világosan leírja a Recept minden példányát. Telepíti az Apache csomagot, engedélyezi és elindítja a httpd szolgáltatást a munkaállomáson. És létrehoz egy index.html fájlt az alapértelmezett dokumentumgyökérben, a „Welcome to Apache in Chef” tartalommal.

Most erősítse meg az Apache2 telepítését a böngésző megnyitásával. Írja be nyilvános IP-címét vagy a gazdagép nevét. Az én esetemben ez a localhost.

4. lépés: Most elkészítjük az első szakácskönyvünket.

Hozzon létre egy cookbooks nevű könyvtárat, és hajtsa végre az alábbi parancsot a Cookbook létrehozásához.

Végrehajt ez:

mkdir szakácskönyvek cd szakácskönyv szakács szakácskönyvet generál httpd_deploy

A httpd_deploy a Cookbook név. Bármelyik nevet megadhatja, amit csak akar.

Menjünk át erre az új könyvtárra: httpd_deploy.

Végrehajt ez:

cd httpd_deploy

Most nézzük meg a létrehozott Cookbook fájlszerkezetét.

Végrehajt ez:

fa

5. lépés: Círjon be egy Sablon fájlt.

Korábban hoztam létre egy fájlt bizonyos tartalmakkal, de ez nem felel meg a Receptek és a Szakácskönyv struktúráimnak. Nézzük meg, hogyan hozhatunk létre sablont az index.html oldalhoz.

Végrehajt ez:

séf generál sablont httpd_deploy index.html

Most, ha látja a szakácskönyv fájlszerkezetemet, van egy mappa, amely az index.html.erb fájl névsablonjaival készült. Szerkesztem ezt az index.html.erb sablonfájlt, és hozzáadom a Receptemet. Lásd az alábbi példát:

Lépjen az alapértelmezett könyvtárba

Végrehajt ez:

cd / root / chef-repo / szakácskönyv / httpd_deploy / templates / default

Itt szerkesztheti az index.html.erb sablont tetszőleges szerkesztő használatával. Vim editor-ot fogok használni.

Végrehajt ez:

vim index.html.erb

Most adja hozzá a következőt:

Üdvözöljük a Chef Apache telepítésében

6. lépés: Colvasson el egy receptet ezzel a sablonnal.

Lépjen a Receptek könyvtárba.

Végezze el a t övé:

cd / root / chef-repo / szakácskönyvek / httpd_deploy / receptek

Most szerkessze az alapértelmezett.rb fájlt bármely kívánt szerkesztő használatával. Vim editor-ot fogok használni.

Végrehajt ez:

vim alapértelmezett.rb

Itt adja hozzá a következőket:

csomag 'httpd' szolgáltatás 'httpd' művelet végrehajtása [: enable,: start] végsablon '/var/www/html/index.html' do source 'index.html.erb' end

Most visszatérek a chef-repo mappámba, és a munkaállomáson futtatom / tesztelem a receptemet.

Végrehajt ez:

cd / root / chef-repo chef-client --local-mode --runlist 'recept [httpd_deploy]'

Receptem szerint az Apache telepítve van a munkaállomásomra, a szolgáltatás indítása és engedélyezése indításkor történik. Sablonfájl is készült az alapértelmezett dokumentumgyökéren.

Most, hogy teszteltem a munkaállomásomat. Itt az ideje a Chef Server telepítésének.

7. lépés: A Chef Server beállítása

A Chef Server hosztolt verzióját fogom használni a felhőben, de használhat fizikai gépet is. Ez a séf-szerver itt van kezelni.szakács.io

Itt létrehozhat egy fiókot, ha még nincs. Miután létrehozott egy fiókot, jelentkezzen be bejelentkezési adataival.

Így néz ki a Chef Server.

Ha először jelentkezik be, akkor a legelső dolog egy szervezet létrehozása. A Szervezet alapvetően olyan gépek csoportja, amelyeket a Chef Serveren fog kezelni.

Először az adminisztráció fülre megyek. Odaát már létrehoztam egy edu nevű szervezetet. Tehát le kell töltenem az indító készletet a munkaállomásomra. Ez az indítókészlet segít a fájlok munkaállomásról a Chef szerverre történő tolásában. Kattintson a beállítások ikonra a jobb oldalon, majd kattintson a Kezdő készlet gombra.

Amikor oda kattint, kap egy lehetőséget a kezdőkészlet letöltésére. Csak kattintson rá a Starter Kit zip fájl letöltéséhez.

Helyezze át ezt a fájlt a gyökérkönyvtárba.Most csomagolja ki ezt a zip fájlt a terminál unzip parancsának használatával. Észre fogja venni, hogy tartalmaz egy chef-repo nevű könyvtárat.

Végrehajt ez:

csomagold ki a chef-starter.zip

Most helyezze át ezt a kezdőkészletet a szakácskönyv könyvtárba a chef-repo könyvtárban.

Végrehajt ez:

mv starter / root / chef-repo / szakácskönyv

Szakács szakácskönyvek a szakácskönyv szupermarketben kaphatók, elmehetünk a szakács szupermarketbe. Töltse le a szükséges szakácskönyveket innen szupermarket.chef.io . Letöltöm a Cookbook egyikét, hogy onnan telepítsem az Apache-t.

Végrehajt e t h az:

cd chef-repo kés szakácskönyv webhely letöltés Learn_chef_httpd

A Tar golyó letölthető az Apache szakácskönyvhez. Most ki kell töltenünk a letöltött Tar fájl tartalmát. Ehhez a tar parancsot fogom használni.

tar -xvf learn_chef_httpd-0.2.0.tar.gz

Az összes szükséges fájl automatikusan létrejön a szakácskönyv alatt. Nincs szükség semmilyen módosításra. Ellenőrizzük a Recept leírást a receptek mappámban.

Végezze el a t h van :

cd / root / chef-repo / learn_chef_httpd / receptek macska alapértelmezett.rb

Most csak feltöltöm ezt a szakácskönyvet a Szakácsszerveremre, mivel az tökéletesnek tűnik számomra.

8. lépés: Töltse fel a szakácskönyvet a Chef Serverre.

A letöltött Apache szakácskönyv feltöltéséhez először helyezze át ezt a learn_chef_httpd fájlt a szakácskönyv-mappába a Szakácskönyv-mappába. Ezután változtassa meg könyvtárát szakácskönyvekre.

Végezze el a t h van :

python osztály __init__
mv / root / chef-repo / learn_chef_httpd / root / chef-repo / szakácskönyvek

Most lépjen erre a szakácskönyv könyvtárra.

Végezze el ezt:

cd szakácskönyvek

Most ebben a könyvtárban hajtsa végre az alábbi parancsot az Apache Cookboo feltöltéséheznak nek:

Exec ute t h az:

kés szakácskönyv feltöltés learn_chef_httpd

Ellenőrizze a szakácskönyvet a Chef Server Management konzolról. Az irányelv részben megtalálja a feltöltött szakácskönyvet. Nézze meg az alábbi képernyőképet:

Most utolsó lépésünk a Chef Node felvétele. Beállítottam egy munkaállomást, egy séfkiszolgálót, és most hozzá kell adnom klienseimet a séfkiszolgálóhoz automatizálás céljából.

9. lépés: Szakácscsomópont hozzáadása a Szakácsszerverhez.

Bemutató célra egy CentOS gépet fogok használni Chef Node-ként. Több száz csomópont kapcsolódhat egy Chef Serverhez. A Node gépem terminálszíne eltér a munkaállomástól, így meg tudja különböztetni mindkettőt.

Csak a csomópontom IP-címére van szükségem, hogy az alábbi parancsot végrehajtjam a Csomópont gépembenvan.

Exec u t van t h az:

ifconfig

Szakácscsomópontomat hozzáadom a kiszolgálóhoz a Knife Bootstrap parancs végrehajtásával, amelyben megadom a The Chef Node IP-címét és nevét. Hajtsa végre a belo parancsotban ben:

Exec ute t h az:

kés bootstrap 192.168.56.102 --ssh-user root --ssh-password edureka --node-name chefNode

Ez a parancs inicializálja a Chef-Client telepítését a Chef Node-ban. A kés parancs segítségével ellenőrizheti a munkaállomás parancssori felületéről a kés parancs segítségévelban ben:

Exec ute t h az:

Kés csomópontok listája

A Chef Serverről is ellenőrizheti. Menjen a Kiszolgálókezelő konzol csomópontok fülére, itt észreveheti, hogy a hozzáadott csomópont jelen van. Nézze meg az alábbi képernyőképet.

10. lépés: Csomópont futtatási lista kezelése

Lássuk, hogyan adhatunk hozzá egy szakácskönyvet a csomóponthoz, és hogyan kezelhetjük annak Futtatási listáját a Chef Serverről. Amint az alábbi képernyőképen látható, kattintson a Műveletek fülre, és válassza a Futtatás lista szerkesztése lehetőséget a Futtatás lista kezeléséhez.

Az Elérhető receptek között megnézheti a learn_chef_httpd receptünket, ezt áthúzhatja az elérhető csomagokból az aktuális Futtatási listára, és elmentheti a Futtatás listát.

Most jelentkezzen be a Node-ba, és futtassa a chef-klienst a Run Run futtatásáhozt.

Exec ute t h az:

fő kliens

Remélem, hogy élvezte ezt a séf oktatóanyagot, és megtanulta, hogyan használható a séf több száz csomópont konfigurálására. A szakács számos szervezetben létfontosságú szerepet játszik a DevOps elérésében. A szakácsnál a szervezetek gyakrabban adnak ki alkalmazásokat és reliátbüveg.

Ha ezt a blogot a “ Szakács bemutató ' ide vonatkozó, nézd meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka DevOps tanúsító tanfolyam segíti a tanulókat, hogy az SDLC több lépésének automatizálásához szakértelmet szerezzenek a DevOps különféle folyamataiban és eszközeiben, mint például a Báb, a Szakács, a Jenkins, a Nagios és a GIT.