Da li ste čuli za Ansible, ali niste sigurni šta on predstavlja? Bez brige, sve ćete saznati o Ansible-u u narednih nekoliko minuta.
Šta je Ansible?
Ansible je open-source DevOps alatka koja kompanijama pomaže u upravljanju konfiguracijom, implementaciji, obezbeđivanju i drugim IT procesima. Njena primena je jednostavna; koristi SSH protokol za komunikaciju između servera. Ansible koristi takozvane „playbook“-ove za opisivanje automatizovanih zadataka, a ovi „playbook“-ovi koriste vrlo razumljiv YAML jezik.
Ansible doprinosi pouzdanosti, doslednosti i skalabilnosti vaše IT infrastrukture. Možete automatizovati konfiguracije baza podataka, skladišta, mreža, firewall-ova i mnogih drugih elemenata koristeći Ansible. On osigurava da svi potrebni paketi i drugi softver budu dosledno instalirani na serveru za pokretanje aplikacije.
Uzmimo primer: imate debug verziju aplikacije razvijene u Visual C++. Da biste pokrenuli tu aplikaciju na računaru, morali biste ispuniti određene preduslove, kao što su DLL biblioteke Microsoft Visual C++ i sama instalacija Visual C++ na vašem računaru. Ovde Ansible preuzima ulogu, osiguravajući da svi neophodni paketi i softver budu instalirani na vašem računaru, kako bi vaša aplikacija radila bez problema u svim okruženjima, bilo da je reč o testnom ili produkcijskom okruženju.
Takođe, Ansible čuva istorijske podatke vaše aplikacije, pa ako u bilo kom trenutku želite da se vratite na prethodnu verziju ili da izvršite nadogradnju, to možete uraditi sa lakoćom.
Pogledajmo neke od njegovih karakteristika:
Bez agenata – To znači da ne postoji softver ili agent koji upravlja čvorom, za razliku od nekih drugih rešenja kao što su Puppet i Chef.
Python – Napravljen je koristeći Python, brz i robustan programski jezik.
SSH – Siguran i jednostavan protokol za mrežnu autentifikaciju bez lozinke. Vaš zadatak je da kopirate ključ klijentu.
Push arhitektura – Potrebne konfiguracije se šalju klijentima. Sve što treba da uradite je da napišete konfiguracije (u „playbook“-u) i „gurnete“ ih na sve čvorove odjednom. Zamislite samo kolika je moć da se promene izvrše na hiljadama servera za nekoliko minuta!
Jednostavno podešavanje – Zahteva minimalne zahteve i konfiguraciju za rad.
Ansible Arhitektura
Počnimo od javnog/privatnog oblaka koji je Linux server. On takođe može služiti kao repozitorijum za sve IT instalacije i konfiguracije.
Gornja arhitektura ima skup host mašina na koje se Ansible server povezuje i šalje „playbook“-ove putem SSH-a.
Ima mehanizam za automatizaciju pomoću kog korisnici mogu direktno pokrenuti „playbook“-ove koji se izvršavaju na hostovima. Postoji više komponenti u Ansible motoru za automatizaciju. Prva je inventar hostova. To je lista IP adresa svih hostova.
Zatim, tu su moduli. Ansible dolazi sa stotinama ugrađenih modula, a moduli su oni delovi koda koji se izvršavaju kada pokrenete „playbook“. „Playbook“ sadrži predstave, predstava sadrži različite zadatke, a zadatak uključuje module.
Kada pokrenete „playbook“, moduli se izvršavaju na vašim hostovima i ti moduli sadrže akciju unutar sebe. Dakle, kada pokrenete „playbook“, te radnje se odvijaju na vašim host mašinama. Možete kreirati i sopstvene prilagođene module. Potrebno je samo napisati nekoliko linija koda i pretvoriti ga u modul, koji možete pokrenuti kada god želite.
Arhitektura takođe ima „playbook“-ove. „Playbook“-ovi definišu vaš tok rada, jer se zadaci koje upišete u „playbook“-u izvršavaju onim redosledom kojim ste ih napisali. Na primer, ako ste prvo napisali da se instalira paket, a zatim da se pokrene, to će i uraditi. „Playbook“-ovi se vrlo lako pišu korišćenjem YAML koda. YAML je jednostavan jezik za serijalizaciju podataka; sličan je engleskom.
Sledeći su dodaci u arhitekturi. Dodaci su posebna vrsta modula. Ovi dodaci se izvršavaju pre izvršavanja modula na čvorovima. Dodaci se izvršavaju na glavnoj kontrolnoj mašini u svrhu evidentiranja. Postoje dodaci za povratni poziv koji vam omogućavaju da se povežete sa različitim Ansible događajima u svrhu prikaza i evidentiranja. Dodaci za keš se koriste za čuvanje keš memorije kako bi se izbegle skupe operacije prikupljanja informacija. Ansible takođe ima akcione dodatke koji su front-end moduli i mogu izvršavati zadatke na mašini kontrolera pre nego što pozovu same module.
Arhitektura ima i dodatke za povezivanje. Nije uvek neophodno koristiti SSH za povezivanje sa host mašinama; možete koristiti i priključak za povezivanje. Na primer, Ansible nudi dodatak za povezivanje sa Docker kontejnerima, pomoću koga se lako možete povezati sa svim vašim Docker kontejnerima i odmah započeti njihovu konfiguraciju.
To je sve o arhitekturi. Sada, da vam objasnim kako Ansible funkcioniše.
Kako Ansible Radi?
Ansible funkcioniše tako što se povezuje sa čvorovima i šalje male programe koji se nazivaju Ansible moduli. Ansible zatim izvršava ove module preko SSH-a, a zatim ih uklanja kada završi.
Ansible upravljački čvor je kontrolni čvor koji kontroliše celokupno izvršavanje „playbook“-a. To je čvor sa koga pokrećete instalaciju, a datoteka inventara pruža listu hostova gde moduli treba da se pokrenu. Čvor za upravljanje uspostavlja SSH vezu, zatim izvršava module na glavnim mašinama i instalira proizvod. Kada se instalacija završi, uklanja module. Tako, dakle, radi Ansible.
Nakon ovoga, možda biste želeli da naučite kako da instalirate i konfigurišete Ansible.
Zaključak
Nadam se da sada imate osnovnu predstavu o Ansible-u kako biste mogli da počnete da ga koristite. Ansible menja način na koji upravljate infrastrukturom, a ako ste administrator sistema ili programer, pogledajte praktičnu obuku za unapređenje svojih veština.