Võimalik teenusepakkuja: nutikam ja vaevatu moodus teenuse pakkumiseks



See Ansible Provisioning ajaveeb toob välja ühe kõige kasulikuma Ansible funktsiooni. See demonstreerib LAMP-i virna seadistamist ja wensite'i hostimist Ubuntu.

Rakenduse mis tahes olelusringi automatiseerimise esimene samm on infrastruktuuri varustamise automatiseerimine. Hooldamine on tüütu protsess konfiguratsioonide seadistamisel, mälu, kettaruumi jne eraldamisel enne nende tegelikku kasutamist. Vaatame, kuidas Ansible Provisioning muudab selle lihtsamaks ja kiiremaks.

Enamik laiaulatuslikke juurutusi nõuab, et teil oleks mitmes süsteemis identne keskkonna seadistus.Niisiis, kuidas sa seda teed? Käivitada sama käskude sajas süsteemis käsitsi ?? Nahh .. See on liiga vana kool. Masinad on selles head, mitte inimesed. Mis oleks, kui ma ütleksin teile, et selle pika ja igava protsessi saab teha lihtsalt ühe Ansiblei raamatu käivitamisega?Sellest me siin blogis räägimegi - Ansible Provisioning.





Käsitletud teemad on:

Kui soovite DevOpsit valdada, ' kursus peaks olema teie valikuvõimalus.



Mis on võimalik?

DevOps on kultuur, kus automatiseerimisele antakse tõeliselt kõrge prioriteet. Kui juurutamise ja testimisprotsessi automatiseerimiseks võivad olla tööriistad, siis miks mitte tööriistu konfiguratsiooni haldamiseks ja varundamiseks. Nutikamaks saamiseks on miljon võimalust ja Ansible'i kasutamine on üks neist. See on üks enimkasutatavaid tööriistu.

Ansible kasutab YAML-põhiseid mänguraamatuid, mis on isegi algajale arusaadavad. Ta kasutab oma klientidega suhtlemiseks agentideta arhitektuuri, mis ei hõlma kliendi arvutisse installitavaid kolmanda osapoole tööriistu, vaid kasutab SSH-põhiseid ühendusi. Kuna see on automatiseerimisvahend, uurime, mida see saab automatiseerida.

Mida saab ansible automatiseerida?

Nimetage arendustsükli etapp ja Ansible aitab teid selles, olgu see siis konfiguratsioonihaldus, provisjon, orkestreerimine, pidev kohaletoimetamine, turvalisus või isegi rakenduse juurutamine. Ansible ühendab arendustsükli töövoo üheks agendiks vähem automatiseerimisplatvormiks.



  1. Pakkumine: Rakenduse / tarkvara elamiseks on vaja luua sobiv keskkond. Ansible annab võimaluse rakenduse jaoks loodud keskkonna automatiseerimiseks.
  2. Konfiguratsiooni juhtimine: Sooritage mitmesuguseid konfiguratsioonitoiminguid, näiteks käivitamise / peatamise teenused, süsteemi, seadme või rakenduse konfiguratsiooni muutmine jne.
  3. Rakenduse juurutamine: Automatiseerige juurutamise määratlemine rakendusega Ansible ja hallake juurutamist selle abil Annis torn . See muudab kogu rakendustsükli alates tootmisest kuni juurutamiseni tõhusaks ja hallatavaks.
  4. Pidev kohaletoimetamine: Pideva integreerimise / pideva tarnimise torujuhtme loomine ja haldamine võib muutuda tülikaks. Seal astub sisse Ansible ja muudab arendaja elu lihtsamaks.
  5. Turvalisus ja vastavus: Projektidega töötamine seab alati piirid ja on integreeritud ettevõtte turvapoliitikaga. Turvapoliitikate automaatne integreerimine juurutamisega võib poliitikate järgimise lihtsustada.
  6. Orkestratsioon: Terve projekt on paljude erinevate eksemplaride kogum, millel on erinev konfiguratsioon. Ansible ühendab ja haldab neid erinevaid juhtumeid tervikuna.

Vajadus vastava ettevalmistamise järele

Nagu varem mainitud, esimene sammrakenduste olelusringi automatiseeriminevalmistab keskkonda, st varundamist. Suurte juurutuste jaoks on vaja mitut hosti, millel on täpselt samad konfiguratsioonid. Kui on üks hosti hankimine, siis on tõenäoline, et järgmise kümne hosti puhul on täpselt samad konfiguratsioonid, kui seda käsitsi teha? Samuti kui palju aega kulutate sama korduva ülesande tegemisele? See on koht, kus Ansible meie teenust pakub. Saate luua sadu hoste, lihtsalt käivitades ühe mänguraamatu. Maagia? Haha! Ei, lihtsalt evolutsioon automatiseerimisel.

Demo: looge LAMP-virn ja juurutage veebileht

Oletame, et proovite veebisaiti juurutada 30 süsteemis, iga veebisaidi juurutamine nõuab põhisüsteemi, veebiserverit, andmebaasi ja PHP-d. Nende eeltingimuste installimiseks kõigisse 30 süsteemi korraga kasutame ansible playbooki.

Selles Ansiblei teenuse pakkumise demos näitan teile, kuidas veebisaidi majutuskeskkonda teenuse Ansible abil luua. Paigaldame virna LAMP (Linux, Apache, MySQL ja PHP) ja seejärel juurutame veebisaidi.

Selle demo jaoks olen kasutanud Linuxi VirtualBoxi, millel on Ubuntu versioon 17.04. Olen kasutanud kahte virtuaalset masinat, ühte serverina, kuhu on installitud Ansible, ja teine ​​masin toimib minu kaughostina. Alustame serveris Ansible seadistamisest.

Olen loonud kausta salvestatud lihtsa staatilise veebilehe indeks millel on kaks faili index.html ja style.css.

index.html:

  HTML-i ja CSS-i kasutav veebisait                Võtke kohe vastu        

stiil.css

* { varu: 0 polster: 0 } päis { taustpilt: lineaarne gradient (rgba (0,0,0,0,5), rgba (0,0,0,0,5)), url ('kutsikas.jpg') kõrgus: 100vh tausta suurus: kate taust-positsioon: keskpunkt } .nav-menu { ujuk: eks list-style: puudub ülemine äär: 30 pikslit } .nav-menu li { kuva: tekstiplokk } .nav-menu li a { värv: türkiissinine teksti kaunistamine: puudub polster: 5px 20px font-family: 'Verdana', 'sans-serif' fondi suurus: 20 pikslit } .homebtn a { ääris: 1px ühtlane hall taustavärv: valge } .nav-menu li a: hõljutage { ääris: 1px ühtlane hall taustavärv: valge } .tagline { positsioon: absoluutne laius: 1200px veerist vasakul: 0 veerise ülaosa: 0 } h1 { värvus: valge fondi suurus: 50px font-family: 'Verdana', 'sans-serif' teksti joondamine: keskel ülemine äär: 275 pikslit } .adopt { ülemine äär: 30 pikslit veeris vasakul: 540 pikslit } .bttn { ääris: 1px tahke valge polster: 10px 30px värvus: kollane font-family: 'Verdana', 'sans-serif' fondi suurus: 22 pikslit teksti kaunistamine: puudub } .adopt a: hõljutage { taustavärv: burlywood }

Samm 1: Hoidlate värskendamiseks, vajalike hoidlate lisamiseks ja oma arvutis PPA seadistamiseks Ansible installimiseks toimige järgmiselt.

$ sudo apt-get update $ sudo apt-get install tarkvara-omadused-common $ sudo apt-add-repository ppa: ansible / ansible

PPA lisamise aktsepteerimiseks vajutage sisestusklahvi ja installige seejärel pärast hoidlate värskendamist lõpuks Ansible.

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

2. samm: Minge oma serveri faili / etc / hosts ja lisage hosti nimi ja hosti IP-aadress.

jne hostid - võimalik eraldamine - EdurekaJoonis 1 - kaughostide lisamine faili / etc / hosts faili - Ansible Provisioning

3. samm: Kuna Ansible töötab agentideta arhitektuuris, kasutades SSH-d oma hostidega suhtlemiseks, seadistage ssh-võtmed. Põhimõtteliselt on meil üks server ja üks host. Me kontrollime hosti oma serveriga ja seega loome serveris avaliku ssh-võtme ja kopeerime selle hosti masinasse. Käivitage serveris järgmine käsk:

mida teeb .trim javas
$ ssh-keygen

Teil palutakse sisestada failinimikus masoovite salvestada teie võtme ja paluda teil luua parool, et pääseda juurde loodud võtmele, mis on valikuline. Vaikimisi salvestatakse avalik võti .ssh / id_rsa.pub faili ja privaatne võti .ssh / id_rsa.

Joonis 2 - ssh-võtme loomine - võimalik provisjon

Nüüd peab see loodud võti teie hostis olemas olema. Võtme kopeerimist masinasse saab teha kahel viisil, kas kopeerida hostile käsitsi või kasutada käsku ssh-copy-id. Sel juhul kopeerin selle käsuga ssh-copy-id root @ IP_of_host.

$ ssh-copy-id root@192.168.56.104

Märkus. Enne selle käsu täitmist veenduge, et saaksite oma hostis sisse logida.

4. samm: Konfigureerige Ansible hosts. Minge faili / etc / ansible / hosts ja lisage hostinimi. See sõltub teie hostide ja serverite arvust. Sul võib olla ka rohkem kuiüks serversiin.

Joonis 3 - lisage varundusfaili kaughostid - võimalik provisjon

5. samm: Kontrollige, kas teie hostid on valmis. Käivitage see käsk, peaksite saama sarnase väljundi.

$ ansible -m pingutab kõiki

Joonis 4 - kontrollige kaughosti olekut - võimalik varundamine

6. samm: Nüüd on meie Ansible valmis, teeme keskkonna veebisaidi juurutamiseks valmis. Apache, MySql ja PHP installimiseks kasutame ühte Ansible playbooki. Vaatame seda.

Märkus. Kui olete algaja, vaadake seda seda ajaveeb, kus selgitatakse, kuidas kirjutada mänguraamatut.

mis on pythonis init
--- # LAMPi korstna seadistamine - hostid: host1 ülesanded: - nimi: ppa hoidla lisamine: yes apt_repository: repo = ppa: ondrej / php - nimi: installige lampide virn saama: jah apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql olek: praegune värskenduse vahemälu: jah - nimi: käivita apache server: jah teenus: nimi: apache2 olek: algas lubatud: jah - nimi: käivita mysql teenus: jah teenused: nimi: mysql-i olek: alustatud lubatud: jah - nimi: loo sihtkataloogifail: tee = / var / www / html olek = kataloogirežiim = 0755 - nimi: juuruta index.html sai: jah koopia: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Siin, nagu näete, on meil 6 ülesannet, iga ülesanne täidab kindlat funktsiooni.

  • Esimene ülesanne lisab MySQLi ja PHP installimiseks vajaliku hoidla.
  • Teine ülesanne installib apache2, MySQL-serveri, PHP ja PHP-MySQL.
  • Kolmas ja neljas ülesanne käivitavad teenuse Apache ja MySQL.
  • Viies ülesanne loob hostimasinas sihtkataloogi ja
  • Lõpuks täidab kuues ülesanne faili index.html, see võtab faili serverimasinast ja kopeerib selle hostimasinasse.

Käivitage see esitusraamat järgmise käsuga:

$ ansible-playbook lamp.yml -K

Jooned muutunud: jah mängukirjas öeldakse, et see peab olema käivitatud juurkasutajana ja seega, kui käsku täidate, küsib see sudo parooli.

Joonis 5 - käivitage Ansible Playbook - Ansible Provision

Nüüd saate minna hostimasinasse ja kontrollida, kas veebisaiti on hostitud.

Joonis 6 - Veebisaidi majutamine Localhostis - Ansible Provisioning

Nüüd on see veebileht, mis oleks paigutatud kõikidesse serveriga suhtlevatesse hostidesse (meie puhul oli meil ainult üks host), kuid sama oleks võimalik isegi 100 kaughosti puhul.

See viib meid Ansible Provisioning ajaveebi lõppu. Kui leiate, et see artikkel on kasulik, vaadake järgmist ' pakkus Edureka. See hõlmab kõiki tööriistu, mis on IT-tööstuse targemaks teinud.

Kas teil on meile küsimus? Palun postitage see aadressile ja me pöördume teie poole.