Galimas aprūpinimas: protingesnis ir nesudėtingas aprūpinimo būdas

Šiame tinklaraštyje „Ansible Provisioning“ nurodoma viena iš naudingiausių „Ansible“ funkcijų. Tai parodo, kaip sukonfigūruoti LAMP kaminą ir priglobti „wensite“ „Ubuntu“.

Pirmasis žingsnis automatizuojant bet kurį programos veikimo ciklą yra automatizuotas infrastruktūros parengimas. Parengimas yra erzinantis konfigūracijų nustatymas, atminties, vietos diske paskirstymas ir kt., Prieš jas iš tikrųjų naudojant. Pažiūrėkime, kaip „Ansible Provisioning“ tai daro paprasčiau ir greičiau.

Daugeliui didelio masto diegimų reikalinga vienoda aplinkos sąranka keliose sistemose.Taigi, kaip tai padaryti? Vykdykite tą patį komandų rinkinį šimte sistemų rankiniu būdu? Nahh .. Tai per sena mokykla. Tai tinka mašinoms, o ne žmonėms. Kas būtų, jei pasakyčiau, kad šį ilgą ir nuobodų procesą galima padaryti tiesiog įvykdžius vieną „Ansible“ pjesę?Apie tai ir kalbėsime šiame tinklaraštyje - „Ansible Provisioning“.



Apimamos temos:

Jei norite įsisavinti „DevOps“, ' kursas turėtų būti jūsų pasirinkimas.

Kas yra Ansible?

„DevOps“ yra kultūra, kurioje automatizavimui teikiamas tikrai didelis prioritetas. Kai gali būti diegimo ir testavimo proceso automatizavimo įrankiai, kodėl gi neturėdami įrankių, skirtų konfigūracijos valdymui ir atidėjimui. Yra milijonas būdų, kaip tapti protingesniam, o „Ansible“ naudojimas yra vienas iš jų. Tai yra viena iš dažniausiai naudojamų priemonių.

„Ansible“ naudoja YAML grotuvus, kuriuos gali suprasti net pradedantysis. Bendravimui su klientais naudojama be agento architektūra, kuri nereikalauja jokios trečiosios šalies įrankio, kuris turi būti įdiegtas kliento kompiuteryje, ir naudoja SSH pagrįstus ryšius. Galimas automatikos įrankis, sužinokime, ką jis gali automatizuoti.

Ką gali automatizuoti „Ansible“?

Pavadinkite kūrimo ciklo etapą, o „Ansible“ jums padės tai padaryti, nesvarbu, ar tai konfigūracijos valdymas, tiekimas, orkestravimas, nuolatinis pristatymas, saugumas ar net programų diegimas. „Ansible“ sujungia kūrimo ciklo darbo eigą į vieną agentą be automatikos platformos.

  1. Aprūpinimas: Būtina sukurti tinkamą aplinką, kad programa / programinė įranga veiktų. „Ansible“ suteikia galimybę automatizuoti aplinką, sukurtą programos egzistavimui.
  2. Konfigūracijos valdymas: Atlikite įvairiausias konfigūracijos užduotis, pvz., Paleidimo / sustabdymo paslaugas, pakeiskite sistemos, įrenginio ar programos konfigūraciją ir kt.
  3. Programos diegimas: Automatizuokite diegimo apibrėžimą naudodami „Ansible“ ir valdykite diegimą naudodami Neįgalus bokštas . Tai daro efektyvų ir valdomą visą programų ciklą nuo gamybos iki diegimo.
  4. Nuolatinis pristatymas: Sukurti ir valdyti nuolatinį integracijos / nuolatinio pristatymo vamzdyną gali būti sudėtinga. Štai kur „Ansible“ žengia ir palengvina kūrėjo gyvenimą.
  5. Saugumas ir atitiktis: Darbas su projektais visada nustato ribas ir yra integruotas su įmonės saugumo politika. Saugumo politika, integruota automatiškai su diegimu, gali palengvinti politikos laikymąsi.
  6. Orkestravimas: Visas projektas yra daugybė skirtingų egzempliorių, turinčių skirtingą konfigūraciją, rinkinys. „Ansible“ sujungia ir valdo šias įvairias instancijas kaip visumą.

Poreikis užtikrinti tinkamą aprūpinimą

Kaip minėta anksčiau, pirmas žingsnis įautomatizuoti programų gyvavimo cikląrengia aplinką, ty aprūpinimą. Dideliam diegimui reikalingi keli kompiuteriai, turintys tiksliai tas pačias konfigūracijas. Kokia tikimybė, kad suteikę vieną pagrindinį kompiuterį, gausite kitus 10 kompiuterių tas pačias konfigūracijas, jei tai padarysite rankiniu būdu? Taip pat kiek laiko praleisite atlikdami tą pačią pasikartojančią užduotį? Čia „Ansible“ ateina į mūsų tarnybą. Galite sudaryti šimtus kompiuterių tiesiog vykdydami vieną grojaraštį. Magija? Haha! Ne, tik automatikos raida.

Demonstracija: sukurkite „LAMP Stack“ ir įdiekite tinklalapį

Tarkime, kad bandote įdiegti svetainę 30 sistemų, kiekvienam svetainės diegimui reikės pagrindinės OS, žiniatinklio serverio, duomenų bazės ir PHP. Mes naudojame išmanųjį leidinį, kad įdiegtume šiuos išankstinius reikalavimus visose 30 sistemų vienu metu.

Šioje „Ansible“ aprūpinimo demonstracijoje aš jums parodysiu, kaip parengti svetainių talpinimo aplinką naudojant „Ansible“. Įdiegiame „LAMP“ („Linux“, „Apache“, „MySQL“ ir „PHP“) šūsnį ir tada įdiegiame svetainę.

Šiai demonstracijai naudojau „Linux VirtualBox“, turinčią „Ubuntu“ versiją 17.04. Aš naudojau dvi virtualias mašinas, vieną kaip savo serverį, kuriame įdiegta „Ansible“, o kita mašina veikia kaip mano nuotolinis kompiuteris. Pradėkime nuo nustatymo Ansible serveryje.

Sukūriau paprastą statinį tinklalapį, išsaugotą aplanke indeksas kuriame yra du failai: index.html ir style.css.

index.html:

  Svetainė naudojant HTML ir CSS                Priimk dabar        

stilius.css

* { paraštė: 0 užpildas: 0 } antraštė { fono paveikslėlis: tiesinis gradientas (rgba (0,0,0,0,5), rgba (0,0,0,0,5)), url ('šuniukas.jpg') aukštis: 100vh fono dydis: viršelis fonas-padėtis: centras } .nav-menu { plūdė: dešinė list-style: nėra paraštė viršuje: 30 taškų } .nav-menu li { ekranas: inline-block } .nav-menu li a { spalva: turkis teksto dekoravimas: nėra užpildas: 5px20px šriftų šeima: „Verdana“, „sans-serif“ šrifto dydis: 20 taškų } .homebtn a { kraštas: 1px pilka pilka fono spalva: balta } .nav-menu li a: užveskite pelės žymeklį { kraštas: 1px pilka pilka fono spalva: balta } .tagline { pozicija: absoliuti plotis: 1200 taškų paraštė kairėje: 0 paraštė viršuje: 0 } h1 { spalva: balta šrifto dydis: 50 taškų šriftų šeima: „Verdana“, „sans-serif“ text-align: centre paraštė viršuje: 275 taškų } .adopt { paraštė viršuje: 30 taškų paraštė kairėje: 540 taškų } .bttn { kraštas: 1px vientisas baltas užpildas: 10 piks. 30 piks spalva: geltona šriftų šeima: „Verdana“, „sans-serif“ šrifto dydis: 22 taškų teksto dekoravimas: nėra } .priimti a: hover { fono spalva: burlys }

1 žingsnis: Vykdykite šias komandas, norėdami atnaujinti saugyklas, pridėti reikalingas saugyklas ir sukonfigūruoti PPA savo kompiuteryje, kad galėtumėte įdiegti:

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

Paspauskite „Enter“, kad sutiktumėte su PPA papildymu, tada atnaujinę saugyklas galiausiai įdiekite „Ansible“.

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

2 žingsnis: Eikite į savo serverio failą / etc / hosts ir pridėkite pagrindinio kompiuterio pavadinimą ir IP adresą.

ir tt kompiuteriai - galimas atidėjimas - „Edureka“1 pav. - Pridėti nuotolinius kompiuterius prie / etc / hosts failo - galimas aprūpinimas

3 žingsnis: Kaip „Ansible“ dirba be agento architektūroje, kai SSH naudojamas bendraujant su pagrindiniais kompiuteriais, nustatykite ssh raktus. Iš esmės mes turime vieną serverį ir vieną pagrindinį kompiuterį. Mes valdome pagrindinį kompiuterį savo serveriu, todėl serveryje sukuriame viešą ssh raktą ir nukopijuojame jį į kompiuterį. Serveryje vykdykite šią komandą:

$ ssh-keygen

Būsite paraginti įvesti failo pavadinimąkur ašnorėtumėte išsaugoti raktą ir paraginti sukurti slaptažodį, kad galėtumėte pasiekti sugeneruotą raktą, kuris yra neprivalomas. Pagal numatytuosius nustatymus viešasis raktas išsaugomas .ssh / id_rsa.pub faile, o privatusis raktas - .ssh / id_rsa.

2 pav. - Sukurti ssh raktą - Ansible Provisioning

Dabar šis sugeneruotas raktas turi būti jūsų pagrindiniame kompiuteryje. Raktą nukopijuoti į pagrindinį kompiuterį galima dviem būdais: arba rankiniu būdu, arba naudojant komandą ssh-copy-id. Šiuo atveju aš jį nukopijuosiu naudodamas komandą ssh-copy-id root @ IP_of_host.

kaip baigti Java programą
$ ssh-copy-id root@192.168.56.104

Pastaba - prieš vykdydami šią komandą, įsitikinkite, kad sugebate prisijungti prie pagrindinio kompiuterio.

4 žingsnis: Konfigūruokite Ansible hosts. Eikite į / etc / ansible / hosts failą ir pridėkite pagrindinio kompiuterio pavadinimą. Tai skirsis atsižvelgiant į turimų kompiuterių ir serverių skaičių. Jūs taip pat galite turėti daugiau neivienas serverisčia.

3 pav. Pridėti nuotolines talpyklas į atsargų failą - galimas tiekimas

5 žingsnis: Patikrinkite, ar jūsų šeimininkai yra pasirengę. Vykdykite šią komandą ir turėtumėte gauti panašią išvestį.

$ ansible -m ping visus

4 pav. - Patikrinkite nuotolinio kompiuterio būseną - galimas aprūpinimas

6 žingsnis: Dabar mūsų „Ansible“ yra pasirengusi. Padarykime aplinką pasirengusią įdiegti svetainę. Norėdami įdiegti „Apache“, „MySql“ ir PHP, naudosime vieną „Ansible“ grojaraštį. Pažvelkime į tai.

Pastaba: jei esate pradedantysis, pasidomėkite tai tinklaraštis, kuriame paaiškinta, kaip rašyti pjesę.

--- # Sąranka LAMP Stack - hosts: host1 task: - vardas: Pridėti ppa saugyklą tapti: taip apt_repository: repo = ppa: ondrej / php - pavadinimas: Įdiekite lempos kaminą: taip apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql būsena: dabartinė atnaujinimo talpykla: taip - vardas: paleisti apache serverį: taip tarnyba: vardas: apache2 būsena: pradėta įjungti: taip - vardas: paleisti mysql paslaugą: taip paslaugos: vardas: „mysql“ būsena: įjungta įjungta: taip - vardas: sukurkite tikslinio katalogo failą: kelias = / var / www / html būsena = katalogo režimas = 0755 - pavadinimas: įdėti index.html tapo: taip kopija: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Čia, kaip matote, mes turime 6 užduotis, kiekviena užduotis atlieka tam tikrą funkciją.

  • Pirmoji užduotis prideda saugyklą, reikalingą MySQL ir PHP įdiegti.
  • Antroji užduotis įdiegia apache2, MySQL-serverį, PHP ir PHP-MySQL.
  • Trečia ir ketvirta užduotis paleidžia „Apache“ ir „MySQL“ paslaugą.
  • Penkta užduotis sukuria tikslinį katalogą pagrindiniame kompiuteryje ir
  • Galiausiai šeštoji užduotis vykdo failą index.html, ji paima failą iš serverio ir nukopijuoja į pagrindinį kompiuterį.

Vykdykite šią grojaraštį naudodami šią komandą:

$ ansible-playbook lempa.yml -K

Linijos tapti: taip pjesėje sakoma, kad ją reikia vykdyti kaip šakninį, taigi, kai vykdote komandą, ji paprašys sudo slaptažodžio.

5 pav. Vykdykite „Ansible Playbook“ - „Ansible Provisioning“

Dabar galite įeiti į pagrindinį kompiuterį ir patikrinti, ar svetainė buvo priglobta.

6 pav. Svetainės priglobimas „Localhost“ svetainėje - galimas aprūpinimas

Dabar tai yra tinklalapis, kuris bus dislokuotas visuose pagrindiniuose kompiuteriuose, kurie sąveikauja su serveriu (mūsų atveju mes turėjome tik vieną pagrindinį kompiuterį), tačiau tas pats būtų įmanoma net 100 nuotolinių kompiuterių.

Tai priveda prie „Ansible Provisioning“ tinklaraščio pabaigos. Jei jums atrodo, kad šis straipsnis yra naudingas, patikrinkite ' pasiūlė Edureka. Ji apima visus įrankius, kurie pavertė IT pramonę protingesne.

Turite mums klausimą? Prašau paskelbti ir mes su jumis susisieksime.