Odgovorno osiguravanje: Pametniji i bez napora način pružanja usluga



Ovaj blog Ansible Provisioning ističe jednu od najkorisnijih značajki Ansible. Demonstrira kako postaviti LAMP stog i hostirati web stranicu na Ubuntuu.

Prvi korak u automatizaciji bilo kojeg operativnog životnog ciklusa aplikacije je automatizacija pružanja infrastrukture. Pribavljanje je dosadan postupak postavljanja konfiguracija, dodjeljivanja memorije, prostora na disku itd., Prije nego što ih zapravo počnete koristiti. Pogledajmo kako Ansible Provisioning to čini jednostavnijim i bržim.

Većina velikih implementacija zahtijeva da imate identično okruženje za postavljanje na više sustava.Pa, kako se to radi? Ručno izvršiti isti skup naredbi na stotinu sustava ?? Nahh .. To je prestar škola. To je nešto u čemu su strojevi dobri, a ne ljudi. Što ako bih vam rekao da se taj dugačak i dosadan postupak može izvesti samo izvršavanjem jedne knjige odgovora Ansible?O tome ćemo razgovarati na ovom blogu - Ansible Provisioning.





Obrađene teme su:

Ako želite svladati DevOps, ' tečaj bi trebao biti vaša opcija za odlazak.



Što je odgovorno?

DevOps je kultura u kojoj se automatizaciji daje zaista velik prioritet. Kad mogu postojati alati za automatizaciju implementacije i procesa testiranja, zašto ne bismo imali alate za upravljanje konfiguracijom i pripremu. Postoji milijun načina da postanete pametniji, a korištenje Ansiblea jedan je od njih. To je jedan od najčešće korištenih alata.

Ansible koristi YAML-ove knjige knjiga koje početnik može razumjeti. Koristi arhitekturu bez agenata za komunikaciju sa svojim klijentima koja ne uključuje niti jedan alat treće strane koji će se instalirati na klijentov stroj, a umjesto toga koristi veze temeljene na SSH. Ansible je alat za automatizaciju, saznajmo što može automatizirati.

Što Ansible može automatizirati?

Nazovite fazu u razvojnom ciklusu i Ansible će vam pomoći u tome, bilo da se radi o upravljanju konfiguracijom, pripremi, orkestraciji, kontinuiranoj isporuci, sigurnosti ili čak implementaciji aplikacije. Ansible objedinjuje radni ciklus razvojnog ciklusa u jednu agenciju bez automatizirane platforme.



  1. Pribavljanje: Potrebno je stvoriti prikladno okruženje za rad aplikacije / softvera. Ansible pruža način za automatizaciju okruženja stvorenog za postojanje aplikacije.
  2. Upravljanje konfiguracijom: Izvršite širok spektar konfiguracijskih zadataka, kao što su usluge pokretanja / zaustavljanja, mijenjanje konfiguracije sustava, uređaja ili aplikacije itd.
  3. Implementacija aplikacije: Automatizirajte definiranje implementacije pomoću programa Ansible i upravljajte implementacijom pomoću Ansible toranj . To čini cijeli aplikacijski ciklus od proizvodnje do uvođenja učinkovitim i upravljivim.
  4. Kontinuirana isporuka: Stvaranje i upravljanje kontinuiranom cjevovodom kontinuirane isporuke može postati nezgodno. Tu Ansible stupa i olakšava život programera.
  5. Sigurnost i usklađenost: Rad s projektima uvijek postavlja granice i integriran je sa sigurnosnim politikama tvrtke. Automatsko integriranje sigurnosnih politika s implementacijom može olakšati usklađivanje s pravilima.
  6. Orkestracija: Čitav projekt zbirka je mnogo različitih instanci različite konfiguracije. Ansible spaja i upravlja tim različitim instancama u cjelini.

Potreba za odgovornim odredbama

Kao što je ranije spomenuto, prvi korak doautomatiziranje operativnog životnog ciklusa aplikacijapriprema okoliš, tj. osiguravanje. Za velike implementacije potreban je više domaćina koji imaju potpuno iste konfiguracije. Nakon osiguranja jednog hosta, koje su šanse da ćete sljedećih 10 hostova imati potpuno iste konfiguracije ako se to radi ručno? Također, koliko vremena ćete potrošiti radeći isti ponavljajući zadatak? Tu Ansible dolazi u našu uslugu. Možete omogućiti stotine domaćina samo izvršavanjem jedne knjige. Magija? Haha! Ne, samo evolucija u automatizaciji.

Demo: Stvorite LAMP stog i postavite web stranicu

što je java grah

Pretpostavimo da pokušavate implementirati web mjesto na 30 sustava, za svako postavljanje web mjesta bit će potreban osnovni OS, web poslužitelj, baza podataka i PHP. Koristimo ansible playbook kako bismo odjednom instalirali ove preduvjete na svih 30 sustava.

U ovom demonstracijskom demonstracijskom programu Ansible pokazat ću vam kako pružiti okruženje za hosting web stranica pomoću Ansiblea. Instaliramo stog LAMP (Linux, Apache, MySQL i PHP), a zatim postavljamo web stranicu.

Za ovu demonstraciju koristio sam Linux VirtualBox s Ubuntu verzijom 17.04. Koristio sam dva virtualna stroja, jedan kao moj poslužitelj na kojem je instaliran Ansible, a drugi stroj djeluje kao moj udaljeni domaćin. Počnimo s postavljanjem Ansible na poslužitelju.

Stvorio sam jednostavnu statičku web stranicu spremljenu u mapu indeks koja ima dvije datoteke, index.html i style.css.

java podatkovne strukture i algoritmi

index.html:

  Web stranica koja koristi HTML i CSS                Usvoji odmah        

stil.css

* { marža: 0 popunjavanje: 0 } Zaglavlje { pozadinska slika: linearni gradijent (rgba (0,0,0,0.5), rgba (0,0,0,0.5)), url ('puppie.jpg') visina: 100vh veličina pozadine: naslovnica položaj pozadine: sredina } .nav-menu { plutaju: desno stil popisa: nema margin-top: 30 piksela } .nav-menu li { prikaz: ugrađeni blok } .nav-menu li a { boja: tirkizna ukras teksta: nema popunjavanje: 5px 20px obitelj fontova: 'Verdana', 'sans-serif' veličina slova: 20 piksela } .homebtn a { obrub: 1px jednobojno siva boja pozadine: bijela } .nav-menu li a: hover { obrub: 1px jednobojno siva boja pozadine: bijela } .tagline { položaj: apsolutni širina: 1200px margina-lijevo: 0 margin-top: 0 } h1 { boja: bijela veličina fonta: 50 piksela obitelj fontova: 'Verdana', 'sans-serif' poravnanje teksta: središte margin-top: 275px } .posvojiti { margin-top: 30 piksela margina-lijevo: 540px } .bttn { obrub: 1px jednobojno bijelo popunjavanje: 10px 30px boja: žuta obitelj fontova: 'Verdana', 'sans-serif' veličina fonta: 22 piksela ukras teksta: nema } .prihvati: hover { boja pozadine: burlywood }

Korak 1: Izvršite sljedeće naredbe za ažuriranje spremišta, dodajte potrebna spremišta i konfigurirajte PPA na vašem računalu za Ansible instalaciju:

$ sudo apt-get update $ sudo apt-get instalacija softverskih svojstava-zajedničko $ sudo apt-add-repository ppa: ansible / ansible

Pritisnite enter da biste prihvatili dodatak PPA-a, a zatim konačno instalirajte Ansible nakon ažuriranja spremišta.

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

Korak 2: Idite na datoteku / etc / hosts vašeg poslužitelja i dodajte ime hosta i IP adresu hosta.

itd. domaćini - Odgovorna odredba - EdurekaSlika 1 - Dodavanje udaljenih hostova u datoteku / etc / hosts - Ansible Provisioning

Korak 3: Kako Ansible radi na arhitekturi bez agenata korištenja SSH-a za komunikaciju sa svojim domaćinima, postavite ssh tipke. U osnovi imamo jedan poslužitelj i jednog domaćina. Svojim poslužiteljem kontroliramo hosta i stoga stvaramo javni ssh-ključ na poslužitelju i kopiramo ga u računalo hosta. Na poslužitelju izvršite sljedeću naredbu:

$ ssh-keygen

Od vas će se zatražiti da unesete naziv datotekegdje jaželjeli bismo spremiti vaš ključ i zatražiti od vas stvaranje lozinke za pristup generiranom ključu koja nije obavezna. Prema zadanim postavkama javni se ključ sprema u datoteku .ssh / id_rsa.pub, a privatni ključ sprema se u .ssh / id_rsa.

Slika 2 - Stvaranje ključa ssh - Odgovorno osiguravanje

Sada ovaj generirani ključ mora biti prisutan na vašem hostu. Kopiranje ključa u host može se izvršiti na dva načina, ili ručno kopiranje u host, ili upotreba naredbe ssh-copy-id. U ovom slučaju, kopirat ću ga pomoću naredbe ssh-copy-id root @ IP_of_host.

$ ssh-copy-id root@192.168.56.104

Napomena - Prije izvršavanja ove naredbe provjerite jeste li u stanju ssh ući u svoj host.

Korak 4: Konfigurirajte Ansible hostove. Idite na datoteku / etc / ansible / hosts i dodajte ime hosta. To će se razlikovati ovisno o broju hostova i poslužitelja koje imate. Možete imati i više odjedan poslužiteljovdje.

Slika 3 - Dodavanje udaljenih hostova u datoteku inventara - Odgovorne odredbe

Korak 5: Provjerite jesu li domaćini spremni. Izvršite ovu naredbu i trebali biste dobiti sličan izlaz.

$ ansible -m ping sve

Slika 4 - Provjera statusa udaljenog hosta - odgovorno osiguravanje

niz predmeta klase java

Korak 6: Sada je naš Ansible spreman, učinimo okruženje spremnim za postavljanje web stranice. Upotrijebit ćemo jednu knjigu prijevoda Ansible za instalaciju Apachea, MySqla i PHP-a. Pogledajmo to.

Napomena: ako ste početnik, pogledajte ovaj blog koji objašnjava kako napisati knjigu pjesama.

--- # Postavljanje LAMP stoga - domaćini: zadatci host1: - ime: Dodaj spremište ppa postaje: da apt_repository: repo = ppa: ondrej / php - ime: Instaliraj svezak lampe postane: da apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql stanje: prisutna predmemorija ažuriranja: da - ime: pokreni poslužitelj apache postaje: da usluga: ime: stanje apache2: pokrenuto omogućeno: da - ime: pokreni uslugu mysql postani: da usluge: ime: mysql stanje: pokrenuto omogućeno: da - ime: stvoriti datoteku ciljnog direktorija: put = / var / www / html stanje = način direktorija = 0755 - ime: raspoređivanje index.html postalo: da kopija: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Ovdje, kao što vidite, imamo 6 zadataka, svaki zadatak izvršava određenu funkciju.

  • Prvi zadatak dodaje spremište potrebno za instalaciju MySQL-a i PHP-a.
  • Drugi zadatak instalira apache2, MySQL-server, PHP i PHP-MySQL.
  • Treći i četvrti zadatak pokreću uslugu Apache i MySQL.
  • Peti zadatak stvara ciljni direktorij u računalu domaćinu i
  • Konačno, šesti zadatak izvršava datoteku index.html, preuzima datoteku s poslužiteljskog stroja i kopira je u računalo domaćin.

Izvršite ovu knjigu priručnika sljedećom naredbom:

$ ansible-playbook lamp.yml -K

Linije postati: da u priručniku kaže da ga treba izvršiti kao root i stoga će, kada izvršite naredbu, zatražiti sudo lozinku.

Slika 5 - Izvršiti Ansible Playbook - Ansible Provisioning

Sada možete ući u host stroj i provjeriti je li web lokacija hostirana.

Slika 6 - Hostiranje web stranice na Localhostu - odgovorno pružanje usluga

To je web stranica koja bi bila raspoređena na svim hostovima koji komuniciraju s poslužiteljem (u našem slučaju imali smo samo jednog hosta), ali isto bi bilo moguće čak i za 100 udaljenih hostova.

Ovo nas dovodi do kraja bloga Ansible Provisioning. Ako vam je ovaj članak koristan, pogledajte članak ' nudi Edureka. Obuhvaća sve alate koji su IT industriju učinili pametnijom.

Imate pitanje za nas? Molimo vas objavite na i javit ćemo vam se.