ansible tutorial installation
Praktična vadnica Ansible z namestitvijo, uporabo in konfiguracijo Ansible modulov:
Razpravljali smo o AWS Elastični fižol v naši prejšnji vadnici.
SEZNAM vaj v tej seriji Ansible:
Vadnica št. 1: Odgovorna namestitev in moduli
Vadnica # 2: Ansible Playbooks in Vault
Vadnica št. 3: Odgovorne vloge in integracija z Jenkinsom
Ansible je odprtokodno orodje, ki pomaga pri avtomatizaciji opravil, uvajanju aplikacij, zagotavljanju oblaka in upravljanju konfiguracij.
Preberite tudi => Seznam vadnic za DevOps Training
Torej govorimo o orkestraciji IT, kjer se naloge izvajajo zaporedoma v več različnih strojih ali strežnikih.
Ansible to stori tako, da se prek SSH poveže z več stroji in zažene naloge, ki so bile konfigurirane v playbooks in uporablja preprost jezik, imenovan YAML (še en označevalni jezik) .
kaj je datoteka .bin
Kaj se boste naučili:
- Pregled Ansible
- Odgovorni postopek namestitve
- Odgovorna uporaba
- Odgovorni moduli
- Povzetek
- Priporočeno branje
Pregled Ansible
Najpomembneje je, da Ansible ne uporablja agenta za avtomatizacijo nalog na različnih strojih.
Ansible zagotavlja vzdrževanje natančnih različic in posodobljenih informacij programskih paketov.
Na primer , če želite namestiti JDK 8 ali Tomcat ali kateri koli drug programski paket v 10 ali 20 različnih računalnikov, dejansko ni mogoče iti do vseh strojev in jih namestiti, raje uporabite Ansible za avtomatizacijo namestitve ali celo uvedbe programske opreme s pomočjo Playbooks in Inventory napisano v zelo preprostem jeziku.
Torej, Ansible je:
- Prosti in odprtokodni
- Vzdržuje Redhat
- V bistvu konfiguracija strežnika
- Upravljanje konfiguracije
V tej tridelni seriji Ansible Tutorial bomo obravnavali praktični pristop k naslednjim temam:
- Postopek namestitve in konfiguracije
- Popis
- Odgovorni moduli
- Ad-hoc ukazi,
- Avtomatizacija opravil z uporabo knjižic
- Odgovorne vloge
- Odgovorni trezor
- Ansible in AWS
Odgovorni postopek namestitve
Ansible je mogoče namestiti in zagnati s katerega koli računalnika.
Običajno potrebujete Nadzorni stroj za namestitev, ki naj bo Linux. Stroj Windows ne podpira funkcije nadzornega stroja. Nadzorni stroj bo upravljal z drugimi oddaljenimi stroji. Kot smo že omenili, Ansible za upravljanje oddaljenih računalnikov uporablja SSH.
V tej vadnici bom za predstavitev primerov uporabljal primerke AWS EC2. Uporabil sem dva primerka (enega nadzornega stroja in drugega kot cilj za avtomatizacijo nalog) in Redhat Linux 7.5.
Ne glede na primere v lokalnem ali v oblaku boste morali vrata ustrezno odpreti glede na avtomatizirane naloge. Kot del varnostne skupine za primerke EC2 imam odprta naslednja vrata, da predstavim primere, omenjene v vadnici.
Na zgornjem zaslonu sem omenil odprtje vrat 8080, saj bom prikazal avtomatizacijo avtomatizacije uvajanja programske opreme s pomočjo programa Tomcat, kar bo koristno z vidika DevOps, zlasti med postopkom neprekinjene dostave.
Namestitev Ansible z uporabo YUM
Kot sem že omenil, bom uporabil en krmilni stroj in ciljni stroj. Za začetek namestitve v obeh napravah izvedite korake, kot je prikazano spodaj.
do) Ustvarite skupni ID na obeh strojih, za Primer , ansible s privilegiji SUDO. Ta ID bo uporabljen za komunikacijo med vsemi stroji, ki so vključeni za avtomatizacijo nalog.
# useradd ansible # passwd ansible
b) Uredite / etc / ssh / sshd_config datoteko na krmilni stroj in razkomentirajte vrstice za PasswordAuthentication in PermitRootLogin
Izvedite zgornje korake na obeh napravah. Ko končate, znova zaženite sshd servis na obeh strojih.
# systemctl restart sshd
c) Za popolno avtomatizacijo nalog bomo potrebovali SSH-overitev brez gesla, sicer celotnega postopka ne bomo uporabili, če boste morali vsakič vnesti geslo.
Torej objavite zgoraj opravljene spremembe, če zaženemo ukaza ssh in ssh, bomo morali vsakič vnesti geslo, kar ni pravi postopek za izvajanje Ansible nalog.
d) Če želite omogočiti preverjanje pristnosti brez gesla, izvedite spodnje korake. Najprej dodajte uporabnika ansible do / etc / sudoers datoteko na obeh strojih, ki bo uporabniku omogočila ansible za zagon katerega koli ukaza, ki zahteva korenske privilegije.
Datoteko shranite in zapustite po dodajanju uporabnika.
je) V prihodnje bomo uporabljali uporabnika ansible za izvedbo vseh korakov. Preklopite torej na uporabnika ansible.
Nadzorni stroj zadostno IN Ciljni stroj zadovoljiv
Nadzorni stroj ssh-keygen
Ciljni stroj ssh-keygen
Kopirajte ključ ssh na ciljni računalnik in obratno.
Nadzorni stroj ssh-copy-id
Ciljni stroj ssh-copy-id
Zdaj se lahko prijavimo brez vnosa gesla. Po odjavi ssh povezljivosti na obeh strojih in se prijavite kot uporabnik Ansible.
Nadzorni stroj: ssh ansible @
Ciljni stroj: ssh ansible @
f) Namestite wget, če ni nameščen na obeh strojih.
$ sudo yum install wget -y
g) Zdaj lahko namestimo ansible samo na krmilnem stroju tako da omogočite repo EPEL iz Fedore, ki ponuja dodatne programske pakete. Za namestitev izvedite naslednje korake MOŽNO.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Uporabljena različica ansible je 2.5.3
h) Uredite ansible.cfg datoteko in omogočite parameter datoteke inventarja na nadzorni napravi.
$ sudo vi /etc/ansible/ansible.cfg
jaz) Ansible uporablja koncept Inventory za upravljanje in sledenje ciljnim strojem. Ta datoteka je privzeto v / etc / ansible / hosts in ga je mogoče tudi spremeniti. Datoteka gostitelja je sestavljena iz skupin za boljšo klasifikacijo in več strojev v skupini. V te skupine je mogoče dodati vse zahtevane stroje.
Vsaka skupina je označena z oklepajem in imenom skupine znotraj. Strežnik lahko dejansko obstaja v več skupinah.
Uredite datoteko inventarja / etc / ansible / hosts in dodajte vse strežnike, ki jih je treba upravljati.
j) Za preizkus povezljivosti strežnikov v skupini spletnega strežnika zaženite ansible ping ukaz, kot je prikazano. Tukaj ping je modul, ki izvaja določeno funkcijo za preizkušanje, ali je gostitelje mogoče povezati, kot je določeno v inventarni datoteki ali ne. Več o različnih modulih in njihovih primerih bomo videli v naslednjem poglavju.
$ ansible webservers –m ping
Če želite gostitelje našteti v inventarni datoteki, lahko zaženete spodnji ukaz
$ ansible webservers --list-hosts
Odgovorna uporaba
Ansible je sestavljen iz 3 glavnih komponent
- Nadzorni stroj
- Popis
- Playbook
Nadzorni stroj upravlja izvajanje Playbook. Lahko ga namestite na prenosni računalnik ali na kateri koli računalnik v internetu.
Datoteka Inventory vsebuje popoln seznam vseh ciljnih strojev, na katerih se izvajajo različni moduli s povezavo ssh in namestitvijo potrebne programske opreme.
Knjigo iger sestavljajo koraki, ki jih bo nadzorni mehanizem izvedel na strežnikih, opredeljenih v inventarni datoteki.
Zelo pomembno je razumeti, da Ansible komunicira z vsemi strežniki, opredeljenimi v inventarju, prek protokola SSH, ki je varen način oddaljene prijave. Vsaka operacija je končana in prenos datotek je šifriran.
Kot bi videli v prejšnjem poglavju, Ansible za namestitev ne uporablja nobene baze podatkov in je zelo enostaven za namestitev, zdaj bomo nadaljevali z dejansko uporabo Ansible, začenši z Moduli, ki so glavni gradnik.
Odgovorni moduli
Moduli so glavni gradniki Ansible in so v osnovi skripti za večkratno uporabo, ki jih uporabljajo Ansible playbooks. Ansible ima številne module za večkratno uporabo. Sem spadajo funkcije za nadzor storitev, namestitev programskega paketa, delo z datotekami in imeniki itd.
Sintaksa je med izvajanjem ad-hoc ukazov, ki pomagajo pri zagonu posameznih ali enostavnih nalog samo enkrat in jih kasneje ni treba zagnati, naslednja. Za Npr. samo namestitev Tomcata na vse strežnike.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Oglejmo si nekaj najbolj priljubljenih modulov Ansible in njihovo uporabo s pomočjo ad-hoc ukazov in kasneje v priročniku.
# 1) Modul za nastavitev
Če želite pridobiti informacije o omrežju ali strojni opremi ali različici operacijskega sistema ali informacijah, povezanih s pomnilnikom, namestitveni modul pomaga zbrati enako o ciljnih strojih. Na krmilniku naprava zažene spodnji ukaz.
$ ansible webservers –m setup
# 2) Ukazni modul
Ukazni modul preprosto izvede določen ukaz na ciljni napravi in poda izhodne podatke.
Nekateri primeri so navedeni spodaj
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Modul lupine
Za izvajanje katerega koli ukaza v lupini po vaši izbiri lahko uporabite modul Shell. Ukazi lupinskega modula se izvajajo v lupini / bin / sh in lahko uporabite operaterje, kot je '>' ali '|' (simbol cevi ali celo spremenljivke okolja.
Torej, razlika med modulom Shell in Command je predvsem ta, da če dejansko ne potrebujete operaterjev, kot so omenjeni, lahko uporabite ukazni modul.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
Na računalnikih v skupini spletnih strežnikov poiščite ustvarjeno datoteko in zaženite ukaz za ogled besedilne datoteke.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Uporabniški modul
Z uporabo tega modula lahko ustvarjate ali brišete uporabnike.
Če želite dodati uporabnika
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Če želite izbrisati uporabnika
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Opcije:
- postati - privilegij super uporabnika za zagon ukaza
- stanje = odsoten da izbrišete uporabnika
# 5) Datotečni modul
Ta modul se uporablja za ustvarjanje datotek, imenikov, nastavljanje ali spreminjanje dovoljenj in lastništva datotek itd
Primer 1: Ustvari datoteko
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
2. primer: Ustvari imenik
kako narediti kopijo polja
Če želite ustvariti imenik z datotečnim modulom, morate nastaviti dva parametra.
- Pot (vzdevek - ime, dest) - to je absolutna pot do imenika, ki ga želite ustvariti.
- Stanje - Vrednost bi morali vnesti kot »imenik«. Privzeto je vrednost »datoteka«.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
3. primer: Izbrišite datoteko
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Primer 4: Izbrišite imenik
Imenik lahko izbrišete tako, da vrednost parametra stanja nastavite na odsoten . Imenik in vsa njegova vsebina bo izbrisana.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
# 6) Modul za kopiranje
Uporablja se za kopiranje datotek na več ciljnih strojev.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Upravljanje programskih paketov
Če morate pakete programske opreme namestiti prek »yum« ali »apt«, lahko uporabite spodnje ukaze.
Primer 1: Namestite GIT
$ ansible webservers –m yum -a “name=git state=present” --become
V desnem oknu lahko vidite, če git ni nameščen, bo dal ukaz ni mogoče najti in po namestitvi bo prikazal izhod.
V tem ukazu stanje = prisotno bo preveril, ali je paket nameščen ali ne, in če ni nameščen, bo namestil najnovejšo različico.
2. primer: Preverite, ali je paket nameščen, in ga posodobite na najnovejšo različico.
$ ansible webservers -m yum -a “name=git state=latest”
V zgornjem ukazu stanje = najnovejše bo paket posodobil samo na najnovejšo različico.
3. primer: Namestite spletni strežnik Apache
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Primer 4: Preverite, ali je Maven nameščen ali ne.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Upravljanje modula storitev
Za upravljanje storitev z ansible uporabljamo modul „Storitev“.
Zagon storitve
$ ansible webservers -m service -a “name=httpd state=started” --become
Ustavitev storitve
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Ponovni zagon storitve
$ ansible webservers -m service -a “name=httpd state=restarted --become
Kliknite tukaj da dobite popoln seznam modulov.
Povzetek
V tej vadnici sem vam predstavil osnovne koncepte in komponente programa Ansible, videli pa smo tudi več o namestitvi, konfiguraciji in uporabi programa Ansible s pomočjo modulov Ansible, ki so glavna komponenta v izvedbi programa Ansible.
V naši prihajajoči vadnici se bomo osredotočili na zelo pomemben vidik pisanja knjig iger za avtomatizacijo opravil in trezorjev Ansible, da bodo občutljivi podatki v šifriranih datotekah.
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Vadnice za globinsko zasenčenje za začetnike
- Odgovorne vloge, integracija z Jenkinsom v DevOps in moduli EC2
- Avtomatizacija nalog z uporabo Ansible Playbooks in Ansible Vault s primeri
- Postopna namestitev in namestitev Appium Studio
- Uvod v programski jezik Java - Video vadnica
- Celotna namestitev in namestitev WebDriverja z Eclipse - Vadnica za selen št. 9
- Jira Prenos in namestitev z nastavitvijo licence Jira
- Uvod in postopek namestitve Pythona