Mahdollinen provisiointi: Älykkäämpi ja vaivaton tapa tarjota palveluja

Tämä Ansible Provisioning -blogi tuo esiin yhden hyödyllisimmistä Ansible-ominaisuuksista. Se aloittaa LAMP-pinon asettamisen ja wensite-isännän Ubuntussa.

Ensimmäinen vaihe sovelluksen minkä tahansa elinkaaren automatisoinnissa on infrastruktuurin valmistelun automatisointi. Valmistelu on ärsyttävä prosessi kokoonpanojen määrittämisessä, muistin, levytilan jne. Varaamisessa ennen niiden tosiasiallista käyttöä. Katsotaanpa, kuinka Ansible Provisioning tekee siitä yksinkertaisemman ja nopeamman.

Suurin osa laajamittaisista käyttöönotoista vaatii samanlaisen ympäristöasetuksen useissa järjestelmissä.Joten, miten teet sen? Suorita sama komentosarja sadalla järjestelmällä manuaalisesti? Nahh .. Se on liian vanha koulu. Tässä koneet ovat hyviä, eivät ihmiset. Entä jos sanoisin, että tämä pitkä ja tylsä ​​prosessi voitaisiin tehdä suorittamalla vain yksi Ansible-pelikirja?Tästä puhumme tässä blogissa - Ansible Provisioning.





Käsiteltyjä aiheita ovat:

Jos haluat hallita DevOpsia, ' kurssin pitäisi olla vaihtoehto.



Mikä on mahdollista?

DevOps on kulttuuri, jossa automaatio on asetettu todella korkealle. Kun käyttöönoton ja testausprosessin automatisointiin voi olla työkaluja, miksi ei ole työkaluja kokoonpanon hallintaan ja provisiointiin. On miljoona tapaa saada älykkäämpiä, ja Ansible on yksi niistä. Se on yksi yleisimmin käytetyistä työkaluista.

Ansible käyttää YAML-pohjaisia ​​soittokirjoja, jotka jopa aloittelija ymmärtää. Se käyttää agenttivaa arkkitehtuuria yhteydenpitoon asiakkaidensa kanssa, mikä ei sisällä kolmannen osapuolen työkalua asennettavaksi asiakkaan koneeseen, ja käyttää sen sijaan SSH-pohjaisia ​​yhteyksiä. Mahdollinen automaatiotyökalu, selvitetään, mitä se voi automatisoida.

Mitä Ansible Automate voi tehdä?

Nimeä kehitysvaiheen vaihe ja Ansible auttaa sinua siinä, olipa kyseessä kokoonpanon hallinta, provisiointi, orkestrointi, jatkuva toimitus, suojaus tai jopa sovellusten käyttöönotto. Ansible yhdistää kehitysjakson työnkulun yhdeksi agentiksi, vähemmän automaatioalustaksi.



  1. Tarjonta: Sovelluksen / ohjelmiston elämään sopivan ympäristön luominen on välttämätöntä. Ansible tarjoaa tavan automatisoida sovelluksen olemassaoloa varten luotu ympäristö.
  2. Kokoonpanon hallinta: Suorita monenlaisia ​​määritystehtäviä, kuten käynnistys- / pysäytyspalvelut, järjestelmän, laitteen tai sovelluksen kokoonpanon muuttaminen jne.
  3. Sovelluksen käyttöönotto: Automatisoi käyttöönoton määrittely Ansible-sovelluksella ja hallitse käyttöönottoa käyttämällä Tornin torni . Tämä tekee koko sovellussyklin tuotannosta käyttöönottoon tehokkaaksi ja hallittavaksi.
  4. Jatkuva toimitus: Jatkuvan integroinnin / jatkuvan toimitusputken luominen ja hallinta voi olla hankalaa. Siellä Ansible astuu sisään ja helpottaa kehittäjän elämää.
  5. Turvallisuus ja vaatimustenmukaisuus: Työskentely projektien kanssa asettaa aina rajat ja on integroitu yrityksen turvallisuuspolitiikkaan. Kun tietoturvakäytännöt integroidaan automaattisesti käyttöönottoon, politiikkojen noudattaminen on helpompaa.
  6. Orkestrointi: Koko projekti on kokoelma monista erilaisista instansseista, joilla on erilainen kokoonpano. Mahdollinen yhdistää ja hallinnoi näitä erilaisia ​​instansseja kokonaisuutena.

Tarpeettoman valmistelun tarve

Kuten aiemmin mainittiin, ensimmäinen askelsovellusten käyttöiän automatisointivalmistelee ympäristöä, toisin sanoen provisiointia. Suuret käyttöönotot edellyttävät useita isäntiä, joilla on täsmälleen samat määritykset. Kun olet hankkinut yhden isännän, mitkä ovat mahdollisuudet saada seuraavat 10 isäntää olemaan täsmälleen samat määritykset, jos ne tehdään manuaalisesti? Kuinka paljon aikaa vietät saman toistuvan tehtävän suorittamiseen? Täällä Ansible tulee palveluumme. Voit luoda satoja isäntiä vain suorittamalla yhden pelikirjan. Taika? Haha! Ei, vain automaation kehitys.

Esittely: Luo LAMP-pino ja asenna verkkosivusto

Oletetaan, että yrität ottaa verkkosivuston käyttöön 30 järjestelmässä, jokainen verkkosivuston käyttöönotto vaatii käyttöjärjestelmän, verkkopalvelimen, tietokannan ja PHP: n. Asennamme nämä ennakkoedellytykset kaikkiin 30 järjestelmään kerralla mahdollisen pelikirjan avulla.

Tässä Ansible provisiointi -esittelyssä näytän sinulle, miten verkkosivustojen isännöintiympäristö voidaan toteuttaa Ansible-ohjelmalla. Asennamme LAMP (Linux, Apache, MySQL ja PHP) -pino ja otamme sitten käyttöön verkkosivuston.

Tässä esittelyssä olen käyttänyt Linux VirtualBoxia, jossa on Ubuntu-versio 17.04. Olen käyttänyt kahta virtuaalikonetta, yhden palvelimeni, johon Ansible on asennettu, ja toinen kone toimii etäisäntänäni. Aloitetaan asettamalla palvelimelle Ansible.

Olen luonut yksinkertaisen staattisen verkkosivun, joka on tallennettu kansioon indeksi jolla on kaksi tiedostoa, index.html ja style.css.

.trim () java

index.html:

  Verkkosivusto, joka käyttää HTML: ää ja CSS: ää                Hyväksy nyt        

style.css

* { marginaali: 0 pehmuste: 0 } otsikko { taustakuva: lineaarinen gradientti (rgba (0,0,0,0,5), rgba (0,0,0,0,5)), url ('pentu.jpg') korkeus: 100vh taustakoko: kansi taustan sijainti: keskellä } .nav-menu { kellua: oikea list-style: ei mitään marginaalin yläosa: 30 kuvapistettä } .nav-menu li { näyttö: inline-block } .nav-menu li a { väri: turkoosi tekstikoristelu: ei mitään pehmuste: 5px 20px font-family: 'Verdana', 'sans-serif' fontin koko: 20px } .homebtn a { reunus: 1px kiinteä harmaa taustaväri: valkoinen } .nav-menu li a: hover { reunus: 1px kiinteä harmaa taustaväri: valkoinen } .tagline { sijainti: absoluuttinen leveys: 1200px marginaali vasemmalle: 0 marginaali: 0 } h1 { väri valkoinen kirjasinkoko: 50 kuvapistettä font-family: 'Verdana', 'sans-serif' text-align: keskellä yläreuna: 275 kuvapistettä } .adopt { marginaalin yläosa: 30 kuvapistettä marginaali vasemmalla: 540 kuvapistettä } .bttn { reunus: 1px kiinteä valkoinen täyte: 10px 30px väri: keltainen font-family: 'Verdana', 'sans-serif' kirjasinkoko: 22 kuvapistettä tekstikoristelu: ei mitään } .adopt a: hover { taustaväri: burlywood }

Vaihe 1: Suorita seuraavat komennot päivittääksesi arkistot, lisäämällä tarvittavat arkistot ja määrittämällä koneesi PPA: n Mahdollista asennusta varten:

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

Hyväksy PPA-lisäys painamalla enter-painiketta ja asenna sitten lopuksi Ansible arkistojen päivittämisen jälkeen.

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

Vaihe 2: Siirry palvelimesi / etc / hosts-tiedostoon ja lisää isäntänimi ja IP-osoite.

jne. isännät - Mahdollinen valmistelu - EdurekaKuva 1 - Lisää etäisäntätiedostot tiedostoon / etc / hosts File - Ansible Provisioning

Vaihe 3: Koska Ansible työskentelee agenttittomassa arkkitehtuurissa, jossa SSH käytetään kommunikoimaan isäntänsä kanssa, asenna ssh-avaimet. Pohjimmiltaan meillä on yksi palvelin ja yksi isäntä. Ohjaamme isäntää palvelimellamme ja luomme palvelimelle julkisen ssh-avaimen ja kopioimme sen isäntäkoneeseen. Suorita seuraava komento palvelimella:

$ ssh-keygen

Sinua pyydetään antamaan tiedostonimimissä minähaluat tallentaa avaimesi ja pyytää sinua luomaan salasanan luodun avaimen käyttämistä varten, mikä on valinnainen. Oletuksena julkinen avain tallennetaan .ssh / id_rsa.pub-tiedostoon ja yksityinen avain tallennetaan .ssh / id_rsa-tiedostoon.

Kuva 2 - Luo ssh-avain - Mahdollinen valmistelu

Tämän generoidun avaimen on nyt oltava läsnä isännässäsi. Avaimen kopioiminen isäntään voidaan tehdä kahdella tavalla, joko manuaalisesti kopioimalla isäntään tai käyttämällä komentoa ssh-copy-id. Tässä tapauksessa aion kopioida sen komennolla ssh-copy-id root @ IP_of_host.

$ ssh-copy-id root@192.168.56.104

Huomaa - Varmista, että pystyt ssh-palvelimeen ennen tämän komennon suorittamista.

Vaihe 4: Määritä Ansible-isännät. Siirry tiedostoon / etc / ansible / hosts ja lisää isäntänimi. Tämä vaihtelee käytössä olevien isäntien ja palvelimien määrän mukaan. Sinulla voi olla myös enemmän kuinyksi palvelintässä.

Kuva 3 - Lisää etäisännät varastotiedostoon - Mahdollinen valmistelu

Vaihe 5: Tarkista, ovatko isännät valmiita. Suorita tämä komento, niin saat samanlaisen tuloksen.

$ ansible -m pingaa kaikki

Kuva 4 - Tarkista etäisännän tila - Mahdollinen valmistelu

Vaihe 6: Nyt Ansible-palvelumme on valmis. Tehdään ympäristö valmiiksi verkkosivuston käyttöönottoon. Aiomme käyttää yhtä Ansible-soittokirjaa Apache, MySql ja PHP. Katsotaanpa sitä.

Huomaa: Jos olet aloittelija, katso asia Tämä blogi, joka kertoo kuinka kirjoittaa playbook.

--- # LAMP-pinon asennus - isännät: isäntä1 tehtävät: - nimi: Lisää ppa-arkisto: kyllä ​​apt_repository: repo = ppa: ondrej / php - nimi: Asenna lampun pino tulla: kyllä ​​apt: pkg: - apache2 - mysql-palvelin - php7.0 - php7.0-mysql-tila: nykyinen päivitysvälimuisti: kyllä ​​- nimi: käynnistä apache-palvelin: kyllä ​​palvelu: nimi: apache2-tila: aloitettu käytössä: kyllä ​​- nimi: käynnistä mysql-palvelu: kyllä ​​palvelut: nimi: mysql-tila: alkoi käytössä: kyllä ​​- nimi: luo kohdehakemistotiedosto: polku = / var / www / html-tila = hakemistotila = 0755 - nimi: käyttöönotto index.html muuttui: kyllä ​​kopio: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Kuten näette, meillä on 6 tehtävää, joista kukin suorittaa tietyn toiminnon.

  • Ensimmäinen tehtävä lisää MySQL: n ja PHP: n asentamiseen tarvittavan arkiston.
  • Toinen tehtävä asentaa apache2, MySQL-palvelin, PHP ja PHP-MySQL.
  • Kolmas ja neljäs tehtävä käynnistävät Apache- ja MySQL-palvelun.
  • Viides tehtävä luo kohdehakemiston isäntäkoneeseen ja
  • Lopuksi kuudes tehtävä suorittaa index.html-tiedoston, se nostaa tiedoston palvelinkoneelta ja kopioi sen isäntäkoneeseen.

Suorita tämä pelikirja seuraavalla komennolla:

$ ansible-playbook lamp.yml -K

Viivat tullut: kyllä pelikirjassa kerrotaan, että se on suoritettava pääkäyttäjänä, joten kun suoritat komennon, se pyytää sudo-salasanaa.

Kuva 5 - Suorita Ansible Playbook - Ansible Provisioning

Nyt voit mennä isäntäkoneeseen ja tarkistaa, onko verkkosivustoa isännöity.

Kuva 6 - isännöi verkkosivustoa Localhostissa - Ansible Provisioning

Nyt se on verkkosivusto, joka otettaisiin käyttöön kaikissa palvelimen kanssa vuorovaikutuksessa olevissa isännissä (meidän tapauksessamme meillä oli vain yksi isäntä), mutta sama olisi mahdollista jopa 100 etäisänälle.

Tämä tuo meidät Ansible Provisioning -blogin loppuun. Jos pidät tästä artikkelista hyödyllistä, tutustu ' tarjoaja Edureka. Se kattaa kaikki työkalut, jotka ovat tehneet IT-alasta älykkäämpiä.

Onko sinulla kysymys meille? Ole hyvä ja lähetä se ja palaamme sinuun.