ansible tutorial installation
Tutorial hands-on Ansible cu instalare, utilizare și configurare Ansible cu module Ansible:
Am discutat despre AWS Elastic Beanstalk în tutorialul nostru anterior.
LISTA tutorialelor din această serie Ansible:
Tutorial nr. 1: Instalare și module Ansible
Tutorial nr. 2: Cărți de joc și seifuri Ansible
Tutorial # 3: Roluri Ansible și integrare cu Jenkins
Ansible este un instrument open source care ajută la automatizarea sarcinilor, implementarea aplicațiilor, aprovizionarea în cloud și gestionarea configurației.
Citește și => Lista Tutorial de formare DevOps
Deci vorbim despre orchestrarea IT în care sarcinile sunt executate în ordine în mai multe mașini sau servere diferite.
Ansible face acest lucru conectându-se la mai multe mașini prin SSH și rulează sarcinile care au fost configurate în playbooks și utilizează un limbaj simplu numit YAML (încă un limbaj de marcare) .
Ce veți învăța:
- Prezentare generală a Ansible
- Procesul de instalare Ansible
- Utilizare Ansible
- Module Ansible
- rezumat
- Lectură recomandată
Prezentare generală a Ansible
Cel mai important, Ansible nu folosește un agent pentru automatizarea sarcinilor pe diferite mașini.
Ansible asigură menținerea versiunilor exacte și a informațiilor actualizate la pachetele software.
De exemplu , dacă doriți să instalați JDK 8 sau Tomcat sau orice alt pachet software în 10 sau 20 de mașini diferite, nu este de fapt fezabil să mergeți la toate mașinile și să le instalați, mai degrabă folosiți Ansible pentru a automatiza instalarea sau chiar implementările de software folosind Playbooks și Inventory scris într-un limbaj foarte simplu.
Deci Ansible este:
- Free și Open Source
- Întreținut de Redhat
- În esență, o configurație de server
- Managementul configurației
În această serie de 3 Tutoriale Ansible, vom discuta despre abordarea practică pe următoarele subiecte:
- Proces de instalare și configurare
- Inventar
- Module Ansible
- Comenzi ad-hoc,
- Automatizarea sarcinilor folosind playbooks
- Roluri sensibile
- Bolta Ansible
- Ansible și AWS
Procesul de instalare Ansible
Ansible poate fi instalat și rulat de pe orice mașină.
De obicei, veți avea nevoie de un Mașină de control pentru instalare care ar trebui să fie Linux. Mașina Windows nu acceptă să fie o mașină de control. Mașina de control va gestiona celelalte mașini la distanță. Așa cum am menționat anterior, Ansible folosește SSH pentru a gestiona mașini la distanță.
De-a lungul acestui tutorial, voi folosi instanțe AWS EC2 pentru a prezenta exemplele. Am folosit 2 instanțe (o mașină de control și alta ca țintă pentru automatizarea sarcinilor) și Redhat Linux 7.5.
Indiferent dacă este vorba de instanțe locale sau de cloud, va trebui să deschideți porturile în mod corespunzător pe baza sarcinilor care sunt automatizate. Am deschise următoarele porturi ca parte a grupului de securitate pentru instanțele EC2 pentru a demonstra exemplele menționate în tutorial.
adăugați șir la java matrice de șiruri

În ecranul de mai sus, am menționat deschiderea portului 8080 deoarece voi arăta despre automatizarea implementării software-ului folosind Tomcat, care va fi utilă din punct de vedere DevOps, în special în timpul procesului de livrare continuă.
Instalarea Ansible folosind YUM
Așa cum am menționat anterior, voi folosi o mașină de control și o mașină țintă. Pentru a începe cu instalarea, efectuați pașii așa cum se arată mai jos în ambele mașini.
la) Creați un id comun pe ambele mașini, pentru Exemplu , ansible cu privilegii SUDO. Acest id va fi utilizat pentru comunicarea între toate mașinile implicate pentru automatizarea sarcinilor.
# useradd ansible # passwd ansible b) Editați fișierul / etc / ssh / sshd_config fișier pe mașină de control și decomentați liniile pentru PasswordAuthentication și PermitRootLogin


Efectuați pașii de mai sus pe ambele mașini. După finalizare, reporniți fișierul sshd service pe ambele mașini.
# systemctl restart sshd c) Pentru automatizarea completă a sarcinilor, vom avea nevoie de autentificare SSH fără parolă, altfel întregul proces nu va fi utilizat dacă trebuie să introduceți parola de fiecare dată.
Deci, postați modificările făcute mai sus dacă executăm comanda ssh și ssh va trebui să introducem parola de fiecare dată, ceea ce nu este procedura corectă pentru a executa sarcini Ansible.
d) Pentru a activa autentificarea fără parolă pentru a efectua pașii de mai jos. În primul rând adăugați utilizatorul ansible la / etc / sudoers fișier pe ambele mașini care va permite utilizatorului ansible pentru a rula orice comandă care necesită privilegii de root.

Salvați și ieșiți din fișier după adăugarea utilizatorului.
este) Înainte vom folosi utilizatorul ansible pentru a efectua toți pașii. Deci, treceți la utilizator ansible.
Mașină de control sugestiv ȘI Mașină țintă rezonabil

Mașină de control ssh-keygen

Mașină țintă ssh-keygen

Copiați tasta ssh pe mașina țintă și invers.
Mașină de control ssh-copy-id

Mașină țintă ssh-copy-id
site web care convertește videoclipurile YouTube în mp4

Acum ne putem autentifica fără a introduce parola. După verificarea conectivității ssh de pe ambele mașini și fiți conectat ca utilizator.
Mașină de control: ssh ansible @

Mașină țintă: ssh ansible @

f) Instalați wget dacă nu este instalat pe ambele mașini.
$ sudo yum install wget -y g) Acum putem instala ansible numai pe mașina de control prin activarea repo EPEL de la fedora, care oferă pachete software suplimentare. Efectuați pașii următori pentru instalare ANSIBIL.
$ 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 Versiunea ansible utilizată este 2.5.3
h) Editați fișierul ansible.cfg fișier și activați parametrul de fișier de inventar pe mașina de control.
$ sudo vi /etc/ansible/ansible.cfg 
i) Ansible folosește conceptul de inventar pentru a gestiona și urmări mașinile țintă. În mod implicit, acest fișier se află în / etc / ansible / hosts și pot fi schimbate și ele. Un fișier gazdă este format din grupuri pentru o mai bună clasificare și mai multe mașini din cadrul grupului. Toate mașinile necesare pot fi adăugate acestor grupuri.
Fiecare grup este notat printr-o paranteză pătrată și un nume de grup din interior. Un server poate exista de fapt în mai multe grupuri.
Editați fișierul de inventar / etc / ansible / hosts și adăugați toate serverele care trebuie gestionate.

j) Pentru a testa conectivitatea serverelor din grupul serverului web rulați ansible ping comanda așa cum se arată. Aici ping este un modul care îndeplinește o anumită funcție pentru a testa dacă gazdele pot fi conectate așa cum este definit în fișierul de inventar sau nu. Vom vedea mai multe despre diferite module și exemplele sale în secțiunea următoare.
$ ansible webservers –m ping 
Pentru a lista gazdele în fișierul de inventar, puteți rula comanda de mai jos
$ ansible webservers --list-hosts Utilizare Ansible

Ansible constă din 3 componente principale
- Mașină de control
- Inventar
- Playbook
Mașina de control gestionează execuția Playbook-ului. Poate fi instalat pe laptop sau pe orice aparat de pe internet.
Fișierul de inventar oferă o listă completă a tuturor mașinilor țintă pe care sunt rulate diferite module, realizând o conexiune ssh și instalând software-ul necesar.
Playbook-ul constă în pași pe care mecanismul de control îi va efectua pe serverele definite în fișierul de inventar.
Foarte important de înțeles aici este că Ansible interacționează cu toate serverele definite în inventar prin protocolul SSH, care este o metodă sigură de conectare la distanță. Fiecare operație este efectuată și transferul de fișiere este criptat.
Așa cum ați fi văzut în secțiunea anterioară Ansible nu folosește niciun fel de bază de date pentru instalare și este foarte ușor de instalat, acum vom continua cu utilizarea efectivă a Ansible începând cu Module care este elementul principal.
Module Ansible
Modulele sunt principalele elemente de bază ale Ansible și sunt, în principiu, scripturi reutilizabile care sunt utilizate de playbook-urile Ansible. Ansible vine cu o serie de module reutilizabile. Acestea includ funcționalități pentru controlul serviciilor, instalarea pachetelor software, lucrul cu fișiere și directoare etc.
Sintaxa este următoarea în timpul executării comenzilor ad-hoc care ajută la executarea unor sarcini simple sau simple o singură dată și care nu trebuie executate mai târziu. Pentru De exemplu. doar instalarea Tomcat pe toate serverele.
ansible hostORgroup -m module_name -a 'arguments' -u username --becomeSă aruncăm o privire la unele dintre cele mai populare module Ansible și la utilizarea acestora prin comenzile ad-hoc și mai târziu în playbook.
# 1) Modul de configurare
Pentru a obține informații despre rețea sau hardware sau versiunea sistemului de operare sau informații legate de memorie, modulul de configurare vă va ajuta să adunați aceleași despre mașinile țintă. Pe control, mașina rulează comanda de mai jos.
$ ansible webservers –m setup 
# 2) Modul de comandă
Modulul de comandă execută pur și simplu o comandă specifică pe mașina țintă și dă ieșirea.
Unele dintre exemple sunt date mai jos
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’ 
# 3) Modul Shell
Pentru a executa orice comandă din shell la alegere, puteți utiliza modulul Shell. Comenzile modulului shell sunt rulate în / bin / sh shell și puteți utiliza operatorii precum ‘>’ sau ‘|’ (simbolul țevii sau chiar variabile de mediu.
Deci, în primul rând, diferența dintre modulul Shell și modulul de comandă este că, dacă de fapt nu este nevoie să utilizați operatori precum cei menționați, atunci puteți utiliza modulul de comandă.
$ ansible webservers -m shell -a 'ls -l > temp.txt' 
Pe mașinile din grupul de servere web verificați fișierul creat și rulați comanda pentru a vizualiza fișierul text.
$ ansible webservers –m command -a ‘cat temp.txt’ # 4) Modul utilizator
Folosind acest modul puteți crea sau șterge utilizatori.
Pentru a adăuga utilizator
$ ansible webservers -m user -a 'name=user1 password=user1' --become

Pentru a șterge utilizatorul
$ ansible webservers -m user -a 'name=user1 state=absent' --become

Opțiuni:
- deveni - Privilegiu pentru superutilizator pentru a rula comanda
- stare = absent pentru a șterge utilizatorul
# 5) Modul de fișiere
Acest modul este utilizat pentru a crea fișiere, directoare, seta sau modifica permisiunile și proprietatea fișierelor etc.
Exemplul 1: Creați un fișier
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'

Exemplul 2: Creați un director
Pentru a crea un director folosind modulul de fișiere, trebuie să setați doi parametri.
- Calea (alias - nume, dest) - Aceasta este calea absolută a directorului care trebuie creat.
- Stare - ar trebui să introduceți valoarea ca „director”. În mod implicit, valoarea este „fișier”.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'

Exemplul 3: Ștergeți un fișier
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'

Exemplul 4: Ștergeți un director
Puteți șterge un director setând valoarea parametrului de stare la absent . Directorul și tot conținutul acestuia vor fi șterse.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent' 

sintaxa c vs c ++
# 6) Modul de copiere
Este folosit pentru copierea fișierelor pe mai multe mașini țintă.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'

# 7) Gestionarea pachetelor software
Dacă trebuie să instalați pachete software prin „yum” sau „apt”, puteți utiliza comenzile de mai jos.
Exemplul 1: Instalați GIT
$ ansible webservers –m yum -a “name=git state=present” --become 

În fereastra din dreapta, puteți vedea dacă git nu este instalat, va da comanda care nu a fost găsită și, odată instalat, va afișa ieșirea.
În această comandă, state = prezent va verifica dacă pachetul este instalat sau nu și dacă nu este instalat va instala cea mai recentă versiune.
Exemplul 2: Verificați dacă pachetul este instalat și actualizați-l la cea mai recentă versiune.
$ ansible webservers -m yum -a “name=git state=latest” În comanda de mai sus, state = ultima va actualiza pachetul doar la cea mai recentă versiune.

Exemplul 3: Instalați Apache Webserver
$ ansible webservers -m yum -a 'name=httpd state=present' –become Exemplul 4: Verificați dacă Maven este instalat sau nu.
$ ansible webservers -m yum -a 'name=maven state=absent' –become # 8) Modulul de gestionare a serviciilor
Pentru a gestiona serviciile cu ansible, folosim un modul 'serviciu'.
Pornirea unui serviciu
$ ansible webservers -m service -a “name=httpd state=started” --become

Oprirea unui serviciu
$ ansible webservers -m service -a “name=httpd state=stopped” --become Repornirea unui serviciu
$ ansible webservers -m service -a “name=httpd state=restarted --become Clic Aici pentru a obține lista Modulului complet.
rezumat
În acest tutorial, v-am prezentat conceptele și componentele de bază ale Ansible și, de asemenea, am văzut mai multe despre instalarea, configurarea și utilizarea Ansible cu ajutorul modulelor Ansible, care este componenta principală în execuția Ansible.
În viitorul nostru tutorial, ne vom concentra asupra aspectului foarte important al scrierii de manuale pentru automatizarea sarcinilor și a seifurilor Ansible pentru a păstra datele sensibile în fișiere criptate.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Roluri Ansible, integrare cu Jenkins în DevOps și module EC2
- Automatizarea sarcinilor Utilizarea manualelor de joc Ansible și a seifurilor Ansible cu exemple
- Instalarea pas cu pas și configurarea Appium Studio
- Introducere în limbajul de programare Java - Video Tutorial
- WebDriver Întreg instalare și instalare cu Eclipse - Selenium Tutorial # 9
- Descărcare și instalare Jira cu configurarea licenței Jira
- Introducere și proces de instalare Python