Odgovorno zagotavljanje: pametnejši in enostavnejši način zagotavljanja



Ta spletni dnevnik Ansible Provisioning izpostavlja eno najbolj uporabnih funkcij Ansible. Demonstrira, kako nastaviti sveženj LAMP in na Ubuntu gostiti spletno stran.

Prvi korak pri avtomatizaciji katerega koli operativnega življenjskega cikla aplikacije je avtomatizacija zagotavljanja infrastrukture. Zagotavljanje je moteč postopek nastavitve konfiguracij, dodeljevanja pomnilnika, prostora na disku itd., Preden jih dejansko uporabite. Poglejmo, kako Ansible Provisioning to poenostavlja in hitreje.

Večina obsežnih postavitev zahteva, da imate v več sistemih enako okolje.Torej, kako to storite? Izvedite isti nabor ukazov na sto sistemih ročno ?? Nahh .. To je prestara šola. To je nekaj, v čemer so stroji dobri, ne pa ljudje. Kaj pa, če bi vam rekel, da je ta dolg in dolgočasen postopek mogoče narediti z enim samim izvajanjem ene knjige Ansible?O tem bomo govorili v tem blogu - Ansible Provisioning.





Zajete teme so:

php spremeni niz v matriko

Če želite obvladati DevOps, ' seveda naj bo vaša možnost obiska.



Kaj je odgovor?

DevOps je kultura, pri kateri ima avtomatizacija res veliko prednost. Ko obstajajo orodja za avtomatizacijo uvajanja in preskusnega postopka, zakaj ne bi imeli orodij za upravljanje konfiguracije in zagotavljanje. Obstaja milijon načinov, kako postati pametnejši in uporaba Ansibleja je eden izmed njih. Je eno najpogosteje uporabljenih orodij.

Ansible uporablja knjige z igrami na osnovi YAML, ki jih lahko razume tudi začetnik. Za komunikacijo s svojimi odjemalci uporablja arhitekturo brez agentov, ki ne vključuje nobenega orodja tretje osebe, ki se namesti na odjemalski stroj, in namesto tega uporablja povezave, ki temeljijo na SSH. Ansible kot avtomatizirano orodje, ugotovimo, kaj lahko avtomatizira.

Kaj lahko Ansible avtomatizira?

Poimenujte fazo v razvojnem ciklu in Ansible vam bo pomagal pri njej, naj bo to upravljanje konfiguracije, zagotavljanje, orkestracija, neprekinjena dostava, varnost ali celo uvajanje aplikacij. Ansible združuje delovni tok razvojnega cikla v eno samo platformo za avtomatizacijo brez agentov.



  1. Zagotavljanje: Potrebno je ustvariti primerno okolje za delovanje aplikacije / programske opreme. Ansible ponuja način za avtomatizacijo okolja, ustvarjenega za obstoj aplikacije.
  2. Upravljanje konfiguracije: Izvajajte najrazličnejša konfiguracijska opravila, kot so storitve za zagon / zaustavitev, spreminjanje konfiguracije sistema, naprave ali aplikacije itd.
  3. Uvajanje aplikacije: Avtomatizirajte definiranje uvajanja z Ansible in upravljajte uvajanje z uporabo Odgovorni stolp . Zaradi tega je celoten aplikacijski cikel od izdelave do uvajanja učinkovit in vodljiv.
  4. Neprekinjena dostava: Ustvarjanje in upravljanje cevovoda za neprekinjeno integracijo / neprekinjeno dostavo je lahko težavno. Tu vstopi Ansible in razvijalcu olajša življenje.
  5. Varnost in skladnost: Delo s projekti vedno postavlja meje in je povezano z varnostnimi politikami podjetja. Če se varnostne politike samodejno integrirajo z razmestitvijo, lahko olajšate skladnost s politikami.
  6. Orkestracija: Celoten projekt je zbirka številnih različnih primerkov z drugačno konfiguracijo. Ansible združuje in upravlja te različne primerke kot celoto.

Potreba po odgovornem zagotavljanju

Kot smo že omenili, prvi korak kavtomatizacija življenjskega cikla aplikacijpripravlja okolje, tj. Velike razmestitve zahtevajo več gostiteljev s popolnoma enakimi konfiguracijami. Kakšne so možnosti, da dobite naslednjih 10 gostiteljev po enaki konfiguraciji, če jih opravite ročno, po zagotovitvi enega gostitelja? Tudi koliko časa boste porabili za isto ponavljajočo se nalogo? Tu prihaja Ansible do naše storitve. Samo z izvajanjem ene same knjige iger lahko zagotovite na stotine gostiteljev. Čarovnija? Haha! Ne, samo evolucija v avtomatizaciji.

Predstavitev: ustvarite sveženj LAMP in postavite spletno stran

Recimo, da poskušate uvesti spletno mesto v 30 sistemih, za vsako uvajanje spletnega mesta bo potreben osnovni OS, spletni strežnik, zbirka podatkov in PHP. Za uporabo teh predpogojev na vseh 30 sistemih hkrati uporabljamo knjigo ansible playbook.

V tem demonstracijskem prikazu Ansible vam bom pokazal, kako omogočiti okolje za gostovanje spletnih mest z uporabo Ansible. Namestimo sklad LAMP (Linux, Apache, MySQL in PHP) in nato postavimo spletno mesto.

Za to predstavitev sem uporabil Linux VirtualBox z Ubuntu različico 17.04. Uporabil sem dva navidezna računalnika, enega kot strežnik, kjer je nameščen Ansible, in drugi stroj deluje kot moj oddaljeni gostitelj. Začnimo z nastavitvijo Ansible na strežniku.

Ustvaril sem preprosto statično spletno stran, shranjeno v mapi indeks ki ima dve datoteki, index.html in style.css.

index.html:

  Spletno mesto z uporabo HTML in CSS                Sprejem zdaj        

style.css

* { marža: 0 oblazinjenje: 0 } glava { slika ozadja: linearni gradient (rgba (0,0,0,0.5), rgba (0,0,0,0.5)), url ('puppie.jpg') višina: 100vh velikost ozadja: naslovnica položaj ozadja: sredina } .nav-menu { float: desno seznam-slog: noben margin-top: 30 slikovnih pik } .nav-menu li { zaslon: vrstni blok } .nav-menu li a { barva: turkizna dekoracija besedila: nobena oblazinjenje: 5px 20px družina pisav: 'Verdana', 'sans-serif' velikost pisave: 20 slikovnih pik } .homebtn a { obroba: 1px trdno siva barva ozadja: bela } .nav-menu li a: hover { obroba: 1px trdno siva barva ozadja: bela } .tagline { položaj: absolutno širina: 1200px rob-levo: 0 margin-top: 0 } h1 { barva: bela velikost pisave: 50 slikovnih pik družina pisav: 'Verdana', 'sans-serif' poravnava besedila: sredina margin-top: 275px } .adopt { margin-top: 30 slikovnih pik rob levo: 540 slikovnih pik } .bttn { obroba: 1px trdno bela oblazinjenje: 10px 30px barva: rumena družina pisav: 'Verdana', 'sans-serif' velikost pisave: 22 slikovnih pik dekoracija besedila: nobena } .adopt a: hover { barva ozadja: burlywood }

Korak 1: Izvedite naslednje ukaze za posodobitev repozitorijev, dodajte zahtevane repozitorije in v napravi konfigurirajte PPA za namestitev Ansible:

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

Pritisnite enter, da sprejmete dodatek PPA in nato po posodobitvi repozitorijev dokončno namestite Ansible.

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

2. korak: Pojdite na datoteko / etc / hosts vašega strežnika in dodajte ime gostitelja in naslov IP gostitelja.

itd gostitelji - Odgovorno zagotavljanje - EdurekaSlika 1 - Dodajanje oddaljenih gostiteljev v datoteko / etc / hosts - Ansible Provisioning

3. korak: Ker Ansible deluje na arhitekturi brez agentov uporabe SSH za komunikacijo z gostitelji, nastavite ssh tipke. V bistvu imamo en strežnik in enega gostitelja. Gostitelja nadzorujemo s svojim strežnikom, zato na strežniku ustvarimo javni ssh-ključ in ga kopiramo v gostiteljski stroj. Na strežniku izvedite naslednji ukaz:

$ ssh-keygen

Pozvani boste, da vnesete ime datotekekjer iželite shraniti svoj ključ in vas pozvati, da ustvarite geslo za dostop do ustvarjenega ključa, ki ni obvezno. Javni ključ se privzeto shrani v datoteko .ssh / id_rsa.pub, zasebni ključ pa v .ssh / id_rsa.

Slika 2 - Ustvari ključ ssh - Ansible Provisioning

Zdaj mora biti ta ustvarjeni ključ prisoten v vašem gostitelju. Kopiranje ključa v gostitelja je mogoče na dva načina, bodisi ročno kopiranje v gostitelja ali uporabo ukaza ssh-copy-id. V tem primeru ga bom kopiral z ukazom ssh-copy-id root @ IP_of_host.

namestite php na Windows 7
$ ssh-copy-id root@192.168.56.104

Opomba - Pred izvajanjem tega ukaza se prepričajte, da lahko shsh v vaš gostitelj.

4. korak: Konfigurirajte Ansible gostitelje. Pojdite v datoteko / etc / ansible / hosts in dodajte ime gostitelja. To se razlikuje glede na število gostiteljev in strežnikov, ki jih imate. Lahko jih imate tudi več koten strežniktukaj.

Slika 3 - Dodajanje oddaljenih gostiteljev v datoteko inventarja - odgovorno zagotavljanje

5. korak: Preverite, ali so gostitelji pripravljeni. Izvedite ta ukaz, da bi dobili podoben izhod.

$ ansible -m ping vse

Slika 4 - Preverjanje statusa oddaljenega gostitelja - sprejemljivo zagotavljanje

6. korak: Zdaj je naš Ansible pripravljen, pripravimo okolje za razmestitev spletnega mesta. Za namestitev Apache, MySql in PHP bomo uporabili eno knjigo Ansible. Oglejmo si.

Opomba: če ste začetnik, si oglejte to blog, ki razlaga, kako napisati knjigo iger.

--- # Nastavitev svežnja LAMP - gostitelji: naloge gostitelja1: - ime: Dodaj skladišče ppa postane: da apt_repository: repo = ppa: ondrej / php - ime: Namesti svetilko svetilke postane: da apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql stanje: sedanji predpomnilnik posodobitve: da - ime: zaženi strežnik apache postane: da storitev: ime: stanje apache2: omogočeno: da - ime: zaženi storitev mysql postane: da storitve: ime: mysql stanje: zagnano omogočeno: da - ime: ustvari ciljno datoteko imenika: pot = / var / www / html stanje = imeniški način = 0755 - ime: razmestite index.html je postalo: da kopija: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Tu lahko vidite, da imamo 6 nalog, vsaka naloga pa ima določeno funkcijo.

  • Prva naloga dodaja repozitorij, potreben za namestitev MySQL in PHP.
  • Druga naloga namesti apache2, MySQL-server, PHP in PHP-MySQL.
  • Tretja in četrta naloga zaženeta storitve Apache in MySQL.
  • Peta naloga ustvari ciljni imenik v gostiteljskem računalniku in
  • Na koncu šesto opravilo izvede datoteko index.html, datoteko prevzame iz strežniškega računalnika in jo kopira v gostiteljski stroj.

Izvedite to igro z naslednjim ukazom:

$ ansible-playbook lamp.yml -K

Vrstice postati: ja v knjigi iger pove, da jo je treba zagnati kot root, zato bo, ko izvedete ukaz, pozval k vnosu gesla za sudo.

Slika 5 - Izvedite Ansible Playbook - Ansible Provisioning

Zdaj lahko vstopite v gostiteljski stroj in preverite, ali je spletno mesto gostovalo.

Slika 6 - Gostovanje spletnega mesta na Localhost - Ansible Provisioning

Zdaj je to spletna stran, ki bi bila nameščena na vseh gostiteljih, ki sodelujejo s strežnikom (v našem primeru smo imeli samo enega gostitelja), vendar bi bilo enako mogoče tudi za 100 oddaljenih gostiteljev.

S tem smo prišli do konca bloga Ansible Provisioning. Če se vam zdi ta članek koristen, si oglejte ' ponuja Edureka. Zajema vsa orodja, s katerimi je informacijska industrija postala pametnejša.

Imate vprašanje za nas? Prosim, objavite na in se bomo oglasili pri vas.