Ansible Roles- Erinomainen tapa selvittää soittokirjat



Tämä Ansible Roles -blogi kertoo kuinka rooleista tehdään monimutkaisia ​​pelikirjoja luettaviksi ja uudelleenkäytettäviksi demonstartin avulla perustamalla MEAN-pino.

Ansible antaa meille mahdollisuuden automatisoida järjestelmien kokoonpanon hallintaa ja lisätä haluamasi määrän asiakkaita. Oletko koskaan miettinyt, kuinka monimutkaiseksi tämä voi tulla? Oletko koskaan miettinyt, kuinka kauan ja hämmentävät soittokirjat voivat kestää? Kuinka Ansible tekee siitä vielä tuulen? Siinä käytetään käsitteitä Ansible Roles, ja siitä me puhumme tässä blogissa.

Käsitellyt aiheet:





Jos haluat hallita DevOpsia, ' kurssi olisi sinun vaihtoehto.

Johdatus mahdollisiin rooleihin

Ansible Role on käsite, joka käsittelee pikemminkin ideoita kuin tapahtumia. Sen pohjimmiltaan toinen abstraktiotaso, jota käytetään soittokirjojen järjestämiseen. Ne tarjoavat luurangon itsenäiselle ja uudelleenkäytettävälle muuttujien, tehtävien, mallien, tiedostojen ja moduulien kokoelmalle, jotka voidaan ladata automaattisesti soittokirjaan. Playbooks ovat kokoelma rooleja. Jokaisella roolilla on erityiset toiminnot.



Haluan selittää tämän esimerkillä. Oletetaan, että haluat, että pelikirjasi suorittaa 10 erilaista tehtävää viidessä eri järjestelmässä, käyttäisitkö tätä vain yhtä pelikirjaa? Ei, yhden soittokirjan käyttö voi tehdä siitä hämmentävän ja altis virheille. Sen sijaan voit luoda 10 erilaista roolia, joissa kukin rooli suorittaa yhden tehtävän. Sitten sinun tarvitsee vain mainita soittokirjan sisällä olevan roolin nimi soittaa heille. Tässä blogissa opit käyttämään rooleja edelleen.

Mahdollisten roolien uudelleenkäyttö

Ansible Roles ovat toisistaan ​​riippumattomia. Yhden roolin suorittaminen ei riipu muista, joten niitä voidaan käyttää uudelleen. Voit jopa muokata ja mukauttaa näitä rooleja tarpeidesi mukaan. Tämä vähentää tehtäväämme kirjoittaa koko osa koodia aina kun tarvitsemme sitä, mikä yksinkertaistaa työtämme.

Palataan edelliseen esimerkkiin. Olet kirjoittanut 10 roolia, ja sinun on nyt käytettävä niistä 5 toista provisiointia varten. Kirjoitatko koko soittokirjan uudelleen? Ei, käytät vain näitä viittä roolia soittamalla heille tässä uudessa Playbookissa. Voit myös tehdä muutoksia tarvittaessa, mutta se silti säästää paljon aikaa.



laajuuden resoluutiooperaattori c ++: ssa

Oletetaan, että sinun on kirjoitettava soittokirja LAMP-pinon asettamista varten. Sinun on luotava 4 roolia, joista kukin Linux, Apache, MongoDB ja PHP. Jos haluat tulevaisuudessa uuden pelikirjan LAMP-pinon ja WordPressin määrittämiseen, luodaanko uudestaan ​​rooleja LAMP-pinolle ja WordPressille? Ei! Voit yksinkertaisesti käyttää vanhempia rooleja (käytetään LAMP-pinoa varten) ja luoda lisäksi uusi rooli WordPressille.

Roolihakemistorakenne

Oletettavien roolien avulla tiedostojen on oltava tietyssä tiedostorakenteessa. Hämmentävin osa roolien käytössä on tiedostohierarkian ymmärtäminen. Ansible tarjoaa Ansible Galaxy -ominaisuuden, joka auttaa sinua pelaamaan rooleilla. Tiedämme jo, missä Ansible on Ubuntussa (/ etc / ansible). Oletko koskaan nähnyt hakemistoa nimeltä roolit kohdassa / etc / ansible? Tuo hakemisto on olemassa juuri tästä syystä. Luodaan erilaisia ​​rooleja tähän hakemistoon.

Hakemisto näyttää tältä:

Puu - Ansible Roles - Edureka

Voit luoda roolin galaksi galaksi init-komento / etc / ansible / roolien sisällä.

$sudoansible-galaxy init

Näet, että myös muut roolihakemistot olisi luotu.

Nämä hakemistot ovat tehtäviä, käsittelijöitä, oletusarvoja, muunnelmia, tiedostoja, malleja ja metaa sekä README-tiedostoa.mdtiedosto.

Tehtävät - Sisältää pääluettelon tehtävistä, jotka rooli suorittaa. Sesisältääkyseisen roolin main.yml-tiedosto.

Käsittelijät - Sisältää käsittelijöitä, joita tämä rooli voi käyttää tai jopa missä tahansa roolin ulkopuolella.

Oletukset - Sisältää oletusmuuttujat, joita tämä rooli käyttää.

Jonka - Tämä hakemisto koostuu muista muuttujista, joita rooli käyttää. Nämä muuttujat voidaan määritellä soittokirjassa, mutta on hyvä tapa määritellä ne tässä osiossa.

julistamalla joukko esineitä java

Tiedostot - Sisältää tiedostoja, jotka tämä rooli voi ottaa käyttöön. Se sisältää tiedostoja, jotka on lähetettävä isännille roolia määritettäessä.

Meta - Määrittää tämän roolin metatiedot. Pohjimmiltaan se sisältää tiedostoja, jotka muodostavat rooliriippuvuudet.

Joka tehtävä hakemiston on koostuttava a: sta main.yml tiedosto, johon kyseisen roolin todellinen koodi kirjoitetaan.

Ymmärretään nyt työ tai roolit esittelyllä MEAN Stackin asentamisesta.

Esittely: MEAN-pino-ohjelmiston asentaminen käyttämällä mahdollisia rooleja

Esittelen, kuinka MEAN-pino voidaan asentaa Ansible Roles -sovelluksella suorittamalla vain yksi ainoa soittokirja. Meillä on kolme roolia: 1) Edellytysten asentaminen, 2) MongoDB: n ja 3) NodeJS: n asentaminen. Oletan, että olet jo tehnyt asennettu Ansible ja muodostanut palvelin-asiakasyhteyden Ubuntuun . Aloitetaan pelaaminen Ansible Rolesin kanssa.

Vaihe 1 - Siirry hakemistoon / etc / ansible / roolit ja luo roolit ennakkoedellytyksille, MongoDB ja NodeJS.

$ cd / etc / ansible / roolit $ sudo ansible-galaxy init -edellytykset $ sudo ansible-galaxy init mongodb $ sudo ansible-galaxy init-solmut

Sinun pitäisi nyt nähdä kolme roolia roolihakemistossasi.

Vaihe 2 - Kirjoita main.yml edellytyksille, jotka asentavat Gitin.

$ cd -edellytykset / tehtävät / main.yml --- - nimi: Asenna git apt: nimi: git-tila: nykyinen update_cache: kyllä

Vaihe 3 - Kirjoita main.yml MongoDB-roolille

$ cd /mongodb/tasks/main.yml --- - nimi: MongoDB - Tuo julkinen avain apt_key: keyserver: hkp: //keyserver.ubuntu.com: 80 id: EA312927 - nimi: MongoDB - Lisää arkisto apt_repository: tiedostonimi: '/etc/apt/sources.list.d/mongodb-org-3.2.list' repo: 'deb http://repo.mongodb.org/apt/ubuntu trusty / mongodb-org / 3.2 multiverse' -tila: nykyinen update_cache : kyllä ​​- nimi: MongoDB - Asenna MongoDB apt: nimi: mongodb-org-tila: nykyinen update_cache: kyllä ​​- nimi: Käynnistä mongod-kuori: 'mongod &'

Vaihe 4 - Kirjoita main.yml kohteellenodejsrooli

$ cd nodejs / task / main.yml --- - nimi: Node.js - Hae komentosarja get_url: url: 'http://deb.nodesource.com/setup_6.x' dest: '{{var_node}} / nodejs .sh '- nimi: Node.js - Määritä suoritusoikeus komentosarjatiedostolle: polku:' {{var_node}} / nodejs.sh '-tila:' u + x '- nimi: Node.js - Suorita asennusohjelman kuori:' {{var_node}} / nodejs.sh '- nimi: Node.js - Poista asennusohjelmatiedosto: polku:' {{var_node}} / nodejs.sh 'tila: poissa - nimi: Node.js - Asenna Node.js apt : name = {{item}} state = present update_cache = yes with_items: - build-essential - nodejs - name: Node.js - Asenna bower ja niela globaalisti npm: name = {{item}} state = present global = yes with_items : - bower - kulta

Vaihe 5 - Kirjoita pääsoittokirjasi

$ cd /etc/ansible/mean.yml --- - hosts: solmut remote_user: ansible tulla: yes tapti_metodi: sudo vars: #muuttuja tarvitaan solmun asennuksen aikana var_node: / tmp-roolit: - edellytykset - mongodb - nodejs

Nyt kun olemme määrittäneet roolit edellytysten asentamiseen, MongoDB ja NodeJs, ottakaamme ne käyttöön. Suorita soittokirja seuraavalla komennolla.

$sudoansible-playbook /etc/ansible/mean.yml -K

Kuten näette, kaikki tehtävät on suoritettu ja niiden tila on muuttunut. Tämä tarkoittaa, että soittokirjan muutokset on tehty sekä palvelimellesi että isännälle. MEAN Stackin asettaminen on vain yksi esimerkki. Voit määrittää kirjaimellisesti kaiken ja kaiken Ansible Roles -sovelluksen avulla.

Tämä tuo meidät Ansible Roles -blogin loppuun. Jos pidät tästä artikkelista hyödyllistä, tutustu ' tarjoaja Edureka. Se kattaa kaikki työkalut, jotka ovat parantaneet IT-teollisuutta.

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