Ansible för nybörjare – Ansibles grunder och hur det fungerar

Hört talas om Ansible men inte säker på vad det är? Oroa dig inte, du kommer att veta om Ansible inom de närmaste 5 minuterna.

Vad är Ansible?

Ansible är ett DevOps-verktyg med öppen källkod som kan hjälpa verksamheten med konfigurationshantering, distribution, provisionering etc. Det är enkelt att distribuera; det utnyttjar SSH för att kommunicera mellan servrar. Den använder playbook för att beskriva automatiseringsjobb, och playbook använder ett mycket enkelt språk YAML.

Ansible ger tillförlitlighet, konsekvens och skalbarhet till din IT-infrastruktur. Du kan automatisera konfigurationer av databaser, lagring, nätverk, brandväggar med Ansible. Den ser till att alla nödvändiga paket och all annan programvara är konsekvent på servern för att köra applikationen.

Låt oss ta ett exempel; du har en felsökningsversion av ett program som är byggt på visual C++. Om du nu vill köra det programmet på en dator, skulle du behöva uppfylla vissa förutsättningar som Microsoft Visual C++-biblioteks-DLL:er, och du skulle behöva visual C++ installerat på din dator. Så, det här är den del där Ansible kommer att se till att alla dessa baspaket och alla programvaror är installerade i din dator så att din applikation kan köras smidigt i alla miljöer, kan det vara test- eller produktionsmiljö.

Den innehåller också alla historiska data för din applikation, så om du när som helst vill gå tillbaka till den tidigare versionen, eller du vill uppgradera den, kan du enkelt göra det.

Låt oss ta en titt på några av följande funktioner.

Agentless – Vilket betyder att det inte finns någon form av programvara eller någon agent som hanterar noden som andra lösningar som docka och kock.

Python – Byggd ovanpå python, som är snabbt och ett av de robusta programmeringsspråken i dagens värld.

SSH – Mycket enkelt lösenordslöst nätverksautentiseringsprotokoll som är säkert. Så ditt ansvar är att kopiera denna nyckel till kunden

Push-arkitektur – Skicka de nödvändiga konfigurationerna till dem, klienter. Allt du behöver göra är att skriva ner dessa konfigurationer (playbook) och trycka dem alla på en gång till noderna. Du ser hur kraftfullt det kan vara att driva ändringarna till tusentals servrar på några minuter.

Installation – ett minimalt krav och konfiguration som krävs för att få det att fungera.

Ansible arkitektur

Låt oss börja med Public/Private Cloud som är Linux-servern. Det kan också fungera som ett arkiv för alla IT-installationer och konfigurationer.

Ovanstående arkitektur har ett gäng värdmaskiner till vilka en ansible server ansluter och driver spelböckerna genom SSH.

Den har en möjlig automatiseringsmotor som använder vilken användare direkt kan köra en spelbok som distribueras på värdarna. Det finns flera komponenter i den möjliga automationsmotorn. Den första är en värdinventering. Det är en lista över alla IP-adresser för alla värdar.

Därefter finns det moduler. Ansible kommer med hundratals inbyggda moduler och moduler är de kodbitar som exekveras när du kör en spelbok. En lekbok innehåller pjäser, en pjäs innehåller olika uppgifter och en uppgift innehåller moduler.

När du kör en spelbok är det modulerna som körs på dina värdar, och dessa moduler innehåller åtgärder i dem. Så när du kör en spelbok, sker dessa åtgärder på dina värddatorer. Du kan också göra dina anpassade moduler. Allt du behöver göra är att skriva några rader kod och göra det till din modul, och du kan köra den när du vill.

Sedan har arkitekturen lekböcker. Playbooks här definierar faktiskt ditt arbetsflöde eftersom vilka uppgifter du än skriver i en playbook, så körs de i samma ordning som du har skrivit dem. Till exempel, om du har skrivit att installera ett paket först och sedan starta, kommer det att göra detsamma. Playbooks är väldigt enkla att skriva YAML-kod. YAML-kod är ett mycket enkelt dataserialiseringsspråk; det är ungefär som engelska.

Därefter finns plugins i arkitekturen. Plugins här är speciella typer av moduler. Dessa plugins exekveras innan en modul körs på noderna. Plugins exekveras på huvudkontrollmaskinen för loggningsändamål. Du har plugins för återuppringning eftersom detta gör att du kan koppla in olika möjliga händelser för visning och loggning. Cache-plugins används för att hålla en cache med fakta för att undvika kostsamma faktainsamlingsoperationer. Ansible har också actionplugins, som är frontend-moduler, och de kan utföra uppgifter på styrmaskinen innan de anropar modulerna själva.

Arkitekturen har anslutningsplugin. Det är inte alltid nödvändigt att använda en SSH för att ansluta till dina värddatorer; du kan också använda en anslutningsplugg. Till exempel, ansible förser dig med ett plugin för docker-containeranslutning och med det anslutningsplugin-programmet kan du enkelt ansluta till alla dina Docker-containrar och börja konfigurera direkt.

Det var allt om arkitekturen. Låt mig sedan berätta hur exakt det fungerar.

Hur fungerar Ansible?

Ansible fungerar genom att ansluta till noder och trycka ut små program som kallas ansible-moduler. Ansible kör sedan dessa moduler över SSH som standard och tar sedan bort dem när de är klara.

Ansible management nod är den kontrollerande noden, som kontrollerar hela exekveringen av Playbook. Det är noden från vilken du kör installationen, och inventeringsfilen tillhandahåller listan över värden där modulerna måste köras. Hanteringsnoden gör ssh-anslutning, och sedan kör den modulerna på värddatorerna och installerar produkten. Det tar bort modulerna när de väl är installerade. Så det är så ansible fungerar.

Därefter kanske du är intresserad av att lära dig hur du installerar och konfigurerar Ansible.

Slutsats

Jag hoppas att du nu har en idé om Ansible för att komma igång. Ansible är en game changer i hur du hanterar infrastrukturen och om du är Sysadmin eller utvecklare kan du kolla in det här praktisk träning för att utveckla kompetensen.