ansible tutorial installation
Praktični tutorijal za Ansible s instalacijom, uporabom i konfiguracijom programa Ansible s modulima Ansible:
Razgovarali smo o AWS Elastični grah u našem prethodnom vodiču.
POPIS tutorijala u ovoj Ansible seriji:
Vodič br. 1: Odgovorna instalacija i moduli
Vodič br. 2: Ansible Playbooks i trezori
Vodič br. 3: Odgovorne uloge i integracija s Jenkinsom
Ansible je alat otvorenog koda koji pomaže u automatizaciji zadataka, implementaciji aplikacija, pružanju usluga u oblaku i upravljanju konfiguracijom.
Također pročitajte => Popis vodiča za obuku za DevOps
Dakle, govorimo o IT orkestraciji gdje se zadaci izvode u nizu na nekoliko različitih strojeva ili poslužitelja.
Ansible to čini povezivanjem na više računala putem SSH-a i pokreće zadatke koji su konfigurirani u knjige za upotrebu i koristi jednostavan jezik tzv. YAML (još jedan označni jezik) .
Što ćete naučiti:
- Pregled Ansible
- Odgovorni postupak instalacije
- Odgovorna upotreba
- Odgovorni moduli
- Sažetak
- Preporučena literatura
Pregled Ansible
Što je najvažnije, Ansible ne koristi agenta za automatizaciju zadataka na različitim strojevima.
Ansible osigurava održavanje točnih verzija i ažurnih podataka softverskih paketa.
Na primjer , ako želite instalirati JDK 8 ili Tomcat ili bilo koji drugi softverski paket u 10 ili 20 različitih strojeva, zapravo nije izvedivo otići na sve strojeve i instalirati ih, umjesto toga koristite Ansible za automatizaciju instalacije ili čak implementacije softvera pomoću Playbook-a i inventara napisan na vrlo jednostavnom jeziku.
Dakle, odgovorno je:
- Besplatni i otvoreni kod
- Održava Redhat
- U osnovi konfiguracija poslužitelja
- Upravljanje konfiguracijom
U ovoj tročlanoj seriji Ansible Tutorial razgovarat ćemo o praktičnom pristupu o sljedećim temama:
- Postupak instalacije i konfiguracije
- Inventar
- Odgovorni moduli
- Ad-hoc naredbe,
- Automatizacija zadataka pomoću playbooka
- Odgovorne uloge
- Ansible trezor
- Ansible i AWS
Odgovorni postupak instalacije
Ansible se može instalirati i pokrenuti s bilo kojeg stroja.
Obično će vam trebati Upravljački stroj za instalaciju koja bi trebala biti Linux. Stroj sa sustavom Windows ne podržava to što je upravljački stroj. Upravljački stroj upravljati će ostalim udaljenim strojevima. Kao što je ranije spomenuto, Ansible koristi SSH za upravljanje udaljenim strojevima.
Kroz ovaj tutorial koristit ću primjere AWS EC2 da bih prikazao primjere. Koristio sam 2 primjerka (jedan upravljački stroj, a drugi kao cilj za automatizaciju zadataka) i Redhat Linux 7.5.
Bilo da se radi o lokalnim instancama ili u oblaku, morat ćete otvoriti portove na temelju zadataka koji se automatiziraju. Otvorio sam sljedeće priključke kao dio sigurnosne grupe za instance EC2 kako bih pokazao primjere spomenute u vodiču.
Na gornjem zaslonu spomenuo sam otvaranje porta 8080 jer ću pokazati o automatizaciji automatizacije uvođenja softvera pomoću Tomcata, što će biti korisno sa stajališta DevOps-a, posebno tijekom kontinuiranog postupka isporuke.
Instalacija Ansible pomoću YUM-a
Kao što je prije spomenuto, koristit ću jedan upravljački stroj i ciljani stroj. Da biste započeli s instalacijom, izvedite korake kako je prikazano u nastavku na oba stroja.
do) Stvorite zajednički ID na oba stroja, za Primjer , ansible sa SUDO privilegijama. Ovaj će se id koristiti za komunikaciju na svim uključenim strojevima za automatizaciju zadataka.
# useradd ansible # passwd ansible
b) Uredite / etc / ssh / sshd_config datoteka na upravljački stroj i raskomentirajte crte za PasswordAuthentication i PermitRootLogin
Izvršite gornje korake na oba stroja. Nakon završetka, ponovno pokrenite sshd servis na oba stroja.
# systemctl restart sshd
c) Za potpunu automatizaciju zadataka trebat će nam SSH autentifikacija bez lozinke, inače se cijeli postupak neće koristiti ako svaki put morate unijeti lozinku.
Dakle, objavite gore učinjene promjene ako pokrenemo naredbu ssh i ssh morat ćemo svaki put unijeti lozinku što nije ispravan postupak za izvršavanje odgovornih zadataka.
d) Da biste omogućili autentifikaciju bez lozinke, izvršite korake prikazane u nastavku. Prvo dodajte korisnika ansible prema / etc / sudoers datoteku na oba stroja što će omogućiti korisniku ansible za pokretanje bilo koje naredbe koja zahtijeva root privilegije.
Spremite i zatvorite datoteku nakon dodavanja korisnika.
je) Ubuduće ćemo koristiti korisnika ansible za izvođenje svih koraka. Dakle, prebacite se na korisnika ansible.
zadani pristupnik nije dostupan Windows 10 se stalno događa
Upravljački stroj dostatan I Ciljani stroj prikladan
Upravljački stroj ssh-keygen
Ciljani stroj ssh-keygen
Kopirajte ssh ključ na ciljni stroj i obrnuto.
Upravljački stroj ssh-copy-id
Ciljani stroj ssh-copy-id
Sada se možemo prijaviti bez unosa lozinke. Nakon provjere ssh veze na oba stroja i prijavite se kao odgovorni korisnik.
Upravljački stroj: ssh ansible @
Ciljni stroj: ssh ansible @
f) Instalirajte wget ako nije instaliran na oba stroja.
$ sudo yum install wget -y
g) Sada možemo instalirati ansible samo na upravljačkom stroju omogućavanjem EPEL repo-a iz Fedore koji pruža dodatne programske pakete. Izvršite sljedeće korake za instalaciju MOGUĆE.
$ 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
Korištena inačica ansible je 2.5.3
h) Uredite ansible.cfg datoteku i omogućite parametar datoteke inventara na upravljačkom stroju.
$ sudo vi /etc/ansible/ansible.cfg
i) Ansible koristi koncept inventara za upravljanje i praćenje ciljnih strojeva. Prema zadanim postavkama, ova se datoteka nalazi u / etc / ansible / hosts a može se i mijenjati. Datoteka hosta sastoji se od grupa za bolju klasifikaciju i više strojeva u grupi. U te se skupine mogu dodati svi potrebni strojevi.
Svaka je skupina označena uglastim zagradama i nazivom grupe unutar. Poslužitelj zapravo može postojati u više grupa.
Uredite datoteku inventara / etc / ansible / hosts i dodajte sve poslužitelje kojima treba upravljati.
j) Da biste testirali povezanost poslužitelja unutar grupe web poslužitelja, pokrenite ansible ping naredba kao što je prikazano. Ovdje ping je modul koji izvodi određenu funkciju za ispitivanje mogu li se hostovi povezati kako je definirano u datoteci inventara ili ne. O raznim modulima i njihovim primjerima vidjet ćemo više u sljedećem odjeljku.
$ ansible webservers –m ping
Da biste popisali hostove u datoteci inventara, možete pokrenuti donju naredbu
$ ansible webservers --list-hosts
Odgovorna upotreba
Ansible se sastoji od 3 glavne komponente
- Upravljački stroj
- Inventar
- Playbook
Upravljački stroj upravlja izvršavanjem Playbooka. Može se instalirati na vaš prijenosnik ili na bilo koji stroj na Internetu.
Datoteka Inventar pruža cjelovit popis svih ciljnih strojeva na kojima se pokreću različiti moduli uspostavljanjem ssh veze i instaliranjem potrebnog softvera.
Priručnik se sastoji od koraka koje će kontrolni mehanizam izvesti na poslužiteljima definiranim u datoteci inventara.
Ovdje je vrlo važno shvatiti da Ansible komunicira sa svim poslužiteljima definiranim u inventaru putem SSH protokola koji je sigurna metoda daljinske prijave. Svaka je operacija izvršena i prijenos datoteka je šifriran.
Dakle, kao što biste vidjeli u prethodnom odjeljku, Ansible ne koristi bilo koju bazu podataka za instalaciju i vrlo je jednostavan za instalaciju, sada ćemo nastaviti sa stvarnom uporabom Ansiblea počevši od Modula koji su glavni građevni blok.
Odgovorni moduli
Moduli su glavni blokovi Ansiblea i u osnovi su skripte za višekratnu upotrebu koje koriste Ansible playbooks. Ansible dolazi s nizom modula za višekratnu upotrebu. To uključuje funkcionalnost upravljanja uslugama, instalaciju softverskog paketa, rad s datotekama i direktorijima itd.
Sintaksa je sljedeća tijekom izvođenja ad-hoc naredbi koje pomažu u izvođenju pojedinačnih ili jednostavnih zadataka samo jednom i koje kasnije ne treba izvoditi. Za Npr. samo instaliranje Tomcata na sve poslužitelje.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Pogledajmo neke od najpopularnijih modula Ansible i njihovu upotrebu putem ad-hoc naredbi i kasnije u priručniku.
# 1) Modul za postavljanje
Da biste dobili informacije o mreži ili hardveru ili verziji OS-a ili informacijama vezanim uz memoriju, modul za postavljanje pomoći će prikupiti iste o ciljnim strojevima. Na komandi, stroj izvršava naredbu ispod.
$ ansible webservers –m setup
# 2) Naredbeni modul
Naredbeni modul jednostavno izvršava određenu naredbu na ciljnom stroju i daje izlaz.
Neki od primjera navedeni su u nastavku
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Modul ljuske
Da biste izvršili bilo koju naredbu u ljusci po vašem izboru, možete koristiti modul Shell. Naredbe modula ljuske izvode se u / bin / sh ljusci i možete koristiti operatore poput '>' ili '|' (simbol cijevi ili čak varijable okruženja.
Dakle, prvenstveno je razlika između školjke i naredbenog modula u tome što ako zapravo ne trebate koristiti operatore poput spomenutih, mogli biste koristiti naredbeni modul.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
Na računalima u grupi web poslužitelja provjerite stvorenu datoteku i pokrenite naredbu za prikaz tekstualne datoteke.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Korisnički modul
Pomoću ovog modula možete stvoriti ili izbrisati korisnike.
Da biste dodali korisnika
$ ansible webservers -m user -a 'name=user1 password=user1' --become
Za brisanje korisnika
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Opcije:
- postati - Privilegije superkorisniku za pokretanje naredbe
- stanje = odsutno za brisanje korisnika
# 5) Modul datoteke
Ovaj se modul koristi za stvaranje datoteka, direktorija, postavljanje ili promjenu dozvola i vlasništva nad datotekama itd
Primjer 1: Stvorite datoteku
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Primjer 2: Stvorite direktorij
što je 7z datoteka mac
Da biste stvorili direktorij pomoću datotečnog modula, morate postaviti dva parametra.
- Put (alias - ime, dest) - Ovo je apsolutni put direktorija koji treba stvoriti.
- Stanje - Vrijednost biste trebali unijeti kao 'direktorij'. Prema zadanim postavkama vrijednost je 'datoteka'.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Primjer 3: Izbrišite datoteku
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Primjer 4: Izbrišite direktorij
Direktorij možete izbrisati postavljanjem vrijednosti parametra stanja na odsutan . Imenik i sav njegov sadržaj bit će izbrisani.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
# 6) Modul za kopiranje
Koristi se za kopiranje datoteka na više ciljnih strojeva.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Upravljanje softverskim paketima
Ako trebate instalirati softverske pakete putem 'yum' ili 'apt', možete koristiti naredbe u nastavku.
Primjer 1: Instalirajte GIT
$ ansible webservers –m yum -a “name=git state=present” --become
Na desnom prozoru možete vidjeti ako git nije instaliran, dat će naredbu not found, a nakon instalacije prikazat će izlaz.
U ovoj naredbi, stanje = prisutno provjerit će je li paket instaliran ili nije, a ako nije instaliran, instalirat će najnoviju verziju.
Primjer 2: Provjerite je li paket instaliran i ažurirajte ga na najnoviju verziju.
$ ansible webservers -m yum -a “name=git state=latest”
U gornjoj naredbi, stanje = najnovije ažurirat će paket samo na najnoviju verziju.
Primjer 3: Instalirajte Apache web poslužitelj
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Primjer 4: Provjerite je li Maven instaliran ili nije.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Upravljanje modulom usluga
Za upravljanje uslugama s ansible koristimo modul 'servis'.
Pokretanje usluge
$ ansible webservers -m service -a “name=httpd state=started” --become
Zaustavljanje usluge
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Ponovno pokretanje usluge
$ ansible webservers -m service -a “name=httpd state=restarted --become
Klik ovdje da biste dobili kompletni popis modula.
Sažetak
U ovom uputstvu upoznao sam vas s osnovnim konceptima i komponentama programa Ansible, a vidjeli smo i više o instalaciji, konfiguraciji i korištenju programa Ansible uz pomoć modula Ansible koji je glavna komponenta u izvršavanju programa Ansible.
U našem nadolazećem vodiču usredotočit ćemo se na vrlo važan aspekt pisanja knjiga s igrama za automatizaciju zadataka i Ansible trezora za čuvanje osjetljivih podataka u šifriranim datotekama.
Preporučena literatura
- Dubinski vodiči za pomračenje za početnike
- Odgovorne uloge, integracija s Jenkinsom u DevOps i EC2 moduli
- Automatizacija zadataka korištenjem Ansible Playbooks i Ansible trezora s primjerima
- Koračna instalacija i postavljanje Appium Studija
- Uvod u programski jezik Java - Video vodič
- Cjelokupno postavljanje i instaliranje WebDriver-a s Eclipseom - Vodič za selen br. 9
- Preuzimanje i instaliranje Jire s postavljanjem licence za Jira
- Postupak uvođenja i instalacije Pythona