Ansible Provisioning: A Provision intelligensebb és könnyebb módja



Ez az Ansible Provisioning blog rámutat az egyik leghasznosabb Ansible szolgáltatásra. Bemutatja, hogyan állítson be egy LAMP-verem és hogyan tároljon wensitet az Ubuntuban.

Az alkalmazás működési életciklusának automatizálásának első lépése az infrastruktúra kiépítésének automatizálása. A kiépítés bosszantó folyamat a konfigurációk beállításában, a memória, a lemezterület stb. Allokálásában, mielőtt azokat ténylegesen felhasználnák. Lássuk, hogyan teszi ezt az Ansible Provisioning egyszerűbbé és gyorsabbá.

A nagy léptékű telepítések többségéhez azonos környezeti beállítások szükségesek több rendszeren.Szóval, hogy csinálod ezt? Ugyanazokat a parancsokat hajtsa végre száz rendszeren manuálisan ?? Nahh .. Ez túl régi iskola. Ebben a gépek jók, nem az emberek. Mi lenne, ha elmondanám, hogy ezt a hosszú és unalmas folyamatot egyetlen Ansible playbook végrehajtásával lehetne megtenni?Erről fogunk beszélni ebben a blogban - Ansible Provisioning.





A témák a következők:

sekély és mély másolat Java-ban

Ha el akarod sajátítani a DevOps programot, ' tanfolyam legyen a választási lehetőség.



Mi az Ansible?

A DevOps egy olyan kultúra, ahol az automatizálás igazán nagy prioritást élvez. Ha létezhetnek eszközök a telepítés és a tesztelési folyamat automatizálására, miért ne rendelkeznének eszközökkel a konfigurációkezeléshez és a kiépítéshez. Millió módon lehet okosabbá válni, és az Ansible használata az egyik. Ez az egyik legszélesebb körben használt eszköz.

Az Ansible YAML alapú játékkönyveket használ, amelyeket akár egy kezdő is megérthet. Ügynök nélküli architektúrát használ az ügyfelekkel való kommunikációhoz, amely nem igényel semmilyen harmadik fél eszközét az ügyfél gépére telepítésre, ehelyett SSH-alapú kapcsolatokat használ. Lehetséges, hogy automatizálási eszközről van szó, derítsük ki, mit tud automatizálni.

Mit tud automatizálni az Ansible?

Nevezzen meg egy szakaszot a fejlesztési ciklusban, és az Ansible segít ebben, legyen szó konfigurációkezelésről, kiépítésről, hangszerelésről, folyamatos szállításról, biztonságról vagy akár alkalmazás telepítésről. Az Ansible egyesíti a fejlesztési ciklus munkafolyamatát egyetlen ügynök nélküli automatizálási platformra.



  1. Ellátás: Megfelelő környezet létrehozása szükséges az alkalmazás / szoftver működéséhez. Az Ansible lehetőséget nyújt az alkalmazás létére létrehozott környezet automatizálására.
  2. Konfiguráció-menedzsment: Végezzen sokféle konfigurációs feladatot, például indítási / leállítási szolgáltatásokat, módosítsa a rendszer, eszköz vagy alkalmazás konfigurációját stb.
  3. Alkalmazás telepítése: Automatizálja a telepítés meghatározását az Ansible alkalmazással, és a telepítés kezelésével használja Ansible torony . Ez a teljes alkalmazási ciklust a gyártástól a telepítésig hatékony és kezelhetővé teszi.
  4. Folyamatos szállítás: A folyamatos integrációs / folyamatos szállítási folyamat létrehozása és kezelése nehézkessé válhat. Az Ansible ott lép be, és megkönnyíti a fejlesztő életét.
  5. Biztonság és megfelelés: A projektekkel való munka mindig határokat szab és integrálódik a vállalat biztonsági politikájába. A biztonsági házirendek automatikus integrálása a telepítéssel megkönnyítheti a házirendek betartását.
  6. Hangszerelés: Az egész projekt sok különböző, eltérő konfigurációjú példány gyűjteménye. Egy lehetséges összeolvasztja és kezeli ezeket a különböző eseteket egészében.

Ansible Provisioning szükségessége

Mint korábban említettük, az első lépés aaz alkalmazások működési életciklusának automatizálásaelőkészíti a környezetet, vagyis a kiépítést. A nagy telepítésekhez több gazdagépre van szükség, pontosan ugyanazzal a konfigurációval. Az egyik gazdagép kiépítése után mekkora az esélye annak, hogy a következő 10 gazdagép pontosan ugyanazokkal a konfigurációkkal rendelkezzen, ha manuálisan történik? Azt is, hogy mennyi időt fog eltölteni ugyanazon ismétlődő feladat elvégzésével? Itt érkezik szolgáltatásunkhoz az Ansible. Több száz hosztot hozhat létre egyetlen játékkönyv végrehajtásával. Varázslat? Haha! Nem, csak az automatizálás fejlődése.

Bemutató: Hozzon létre egy LAMP-verem és telepítsen egy weboldalt

Tegyük fel, hogy egy webhelyet 30 rendszeren próbál telepíteni, minden webhely telepítéséhez alap operációs rendszerre, web-szerverre, adatbázisra és PHP-re lesz szükség. Egy lehetséges playbook segítségével telepíthetjük ezeket az előfeltételeket mind a 30 rendszerre egyszerre.

Ebben az Ansible létesítési bemutatóban bemutatom, hogyan lehet a web hosting környezetet biztosítani az Ansible használatával. Telepítjük a LAMP (Linux, Apache, MySQL és PHP) halmot, majd telepítünk egy weboldalt.

Ehhez a bemutatóhoz egy Linux VirtualBox-ot használtam, amelynek Ubuntu 17.04-es verziója volt. Két virtuális gépet használtam, az egyiket a szerverként, ahol az Ansible telepítve van, a másik a távoli gazdagépként működik. Kezdjük az Ansible beállításával a szerveren.

Létrehoztam egy egyszerű statikus weboldalt, amely mappába mentett index amelynek két fájlja van: index.html és style.css.

index.html:

  Weboldal HTML és CSS használatával                Most fogadja el        

stílus.css

* { margó: 0 párnázás: 0 } fejléc { háttérkép: lineáris gradiens (rgba (0,0,0,0,5), rgba (0,0,0,0,5)), url ('kiskutya.jpg') magasság: 100vh háttérméret: borító háttér-helyzet: közép } .nav-menu { lebeg: jobb list-style: nincs margin-top: 30 képpont } .nav-menu li { display: inline-block } .nav-menu li a { színe: türkiz szövegdíszítés: nincs párnázás: 5px 20px font-family: 'Verdana', 'sans-serif' betűméret: 20px } .homebtn a { szegély: 1px egyszínű szürke háttérszín: fehér } .nav-menu li a: lebeg { szegély: 1px egyszínű szürke háttérszín: fehér } .tagline { pozíció: abszolút szélesség: 1200px bal szél: 0 margin-top: 0 } h1 { fehér szín betűméret: 50 képpont font-family: 'Verdana', 'sans-serif' text-align: center margin-top: 275px } .adopt { margin-top: 30 képpont bal margó: 540 képpont } .bttn { szegély: 1px egyszínű fehér párnázás: 10px 30px szín: sárga font-family: 'Verdana', 'sans-serif' betűméret: 22 képpont szövegdíszítés: nincs } .adopt a: lebeg { háttérszín: burlywood }

1. lépés: Hajtsa végre a következő parancsokat a tárak frissítéséhez, adja hozzá a szükséges tárakat és konfigurálja a PPA-t a gépen az Ansible telepítéshez:

$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa: ansible / ansible

Nyomja meg az Enter billentyűt a PPA-kiegészítés elfogadásához, majd a tárak frissítése után végül telepítse az Ansible-t.

$ sudo apt-get update $ sudo apt-get install ansible

2. lépés: Lépjen a szerver / etc / hosts fájljába, és adja hozzá a gazdagép nevét és a gazdagép IP-címét.

stb hosztok - Lehetséges kiépítés - Edureka1. ábra - Távoli gazdagépek hozzáadása az / etc / hosts fájlhoz - Ansible Provisioning

3. lépés: Mivel az Ansible az SSH használatával az állomásokkal való kommunikáció agent nélküli architektúráján dolgozik, állítsa be az ssh kulcsokat. Alapvetően egy szerverünk és egy gazdagépünk van. Kiszolgálónkkal irányítjuk a gazdagépet, ezért létrehozunk egy nyilvános ssh-kulcsot a szerveren, és lemásoljuk a gazdagép gépére. Hajtsa végre a következő parancsot a kiszolgálón:

$ ssh-keygen

A rendszer kéri a fájlnév megadásátahol énel akarja menteni a kulcsát, és arra is kér, hogy hozzon létre egy jelszót a létrehozott kulcs eléréséhez, amely opcionális. Alapértelmezés szerint a nyilvános kulcs az .ssh / id_rsa.pub fájlba, a privát kulcs pedig az .ssh / id_rsa fájlba kerül.

2. ábra - ssh kulcs létrehozása - lehetséges kiépítés

Most ennek a generált kulcsnak jelen kell lennie a gazdagépen. A kulcs másolása a gazdagépre kétféleképpen történhet, vagy manuálisan másolhatja a gazdagépre, vagy használhatja az ssh-copy-id parancsot. Ebben az esetben az ssh-copy-id root @ IP_of_host paranccsal másolom.

$ ssh-copy-id root@192.168.56.104

Megjegyzés - A parancs végrehajtása előtt győződjön meg arról, hogy képes-e ssh-t beírni a gazdagépre.

4. lépés: Konfigurálja az Ansible hostokat. Nyissa meg az / etc / ansible / hosts fájlt, és adja hozzá a gazdagép nevét. Ez a gazdagépek és a szerverek számától függ. Több is lehetegy szerveritt.

3. ábra - Távoli gazdagépek hozzáadása a készletfájlhoz - lehetséges kiépítés

5. lépés: Ellenőrizze, hogy a házigazdák készen állnak-e. Hajtsa végre ezt a parancsot, hasonló kimenetet kell kapnia.

$ ansible -m ping minden

4. ábra - A távoli gazdagép állapotának ellenőrzése - lehetséges kiépítés

6. lépés: Most kész az Ansible, készítsük el a környezetet egy weboldal telepítésére. Egyetlen Ansible játékfüzetet fogunk használni az Apache, a MySql és a PHP telepítésére. Vessünk egy pillantást rá.

Megjegyzés: Ha kezdő vagy, nézd meg ez blog, amely elmagyarázza, hogyan kell írni egy játékkönyvet.

--- # LAMP-verem beállítása - hosztok: hoszt1 feladatok: - név: A ppa lerakat hozzáadása: igen - php7.0 - php7.0-mysql állapot: jelenlegi frissítési gyorsítótár: igen - név: indítsa el az apache szervert: igen szolgáltatás: név: apache2 állapot: indult engedélyezve: igen - név: indítsa el a mysql szolgáltatást: igen szolgáltatások: név: mysql állapot: elindítva engedélyezve: igen - név: célkönyvtárfájl létrehozása: elérési út = / var / www / html állapot = könyvtármód = 0755 - név: telepítés index.html lett: igen másolat: src: / etc / ansible / index / index.html cél: var / www / html / index / index.html

Itt, amint láthatja, 6 feladatunk van, mindegyik feladat egy adott funkciót tölt be.

  • Az első feladat hozzáadja a MySQL és a PHP telepítéséhez szükséges adattárat.
  • A második feladat telepíti az apache2-t, a MySQL-szervert, a PHP-t és a PHP-MySQL-t.
  • A harmadik és negyedik feladat elindítja az Apache és a MySQL szolgáltatást.
  • Az ötödik feladat létrehoz egy célkönyvtárat a gazdagépen és
  • Végül a hatodik feladat végrehajtja az index.html fájlt, felveszi a fájlt a kiszolgálóról és lemásolja a gazdagépre.

Futtassa le ezt a játékfüzetet a következő paranccsal:

$ ansible-playbook lamp.yml -K

A vonalak vált: igen a játékkönyvben elmondja, hogy rootként kell végrehajtania, ezért amikor végrehajtja a parancsot, akkor sudo jelszót kér.

5. ábra - Ansible Playbook végrehajtása - Ansible Provisioning

Most bemehet a gazdagépre és ellenőrizheti, hogy a webhelyet üzemeltették-e.

6. ábra - A weboldal üzemeltetése a Localhoston - Ansible Provisioning

Ez most egy weboldal, amelyet minden szerveren telepítenének, amelyek a szerverrel kommunikálnak (esetünkben csak egy gazdagép volt), de ugyanez lehetséges akár 100 távoli gazdagép esetében is.

Ezzel eljutottunk az Ansible Provisioning blog végéhez. Ha hasznosnak találja ezt a cikket, nézze meg a ' kínálta Edureka. Ez magában foglalja az összes olyan eszközt, amely intelligensebbé tette az IT-iparágat.

Van egy kérdésünk? Kérjük, tegye fel ide: és mi visszatérünk hozzád.