Hur man kör Ansible på Ubuntu Virtual Machine

I den här bloggen kommer vi att lära oss hur man kör ansible i en virtuell ubuntu-maskin. Vi kommer också att lära oss några tips och tricks för att göra vår upplevelse med ansible roligare.

Hur man kör Ansible på Ubuntu Virtual Machine

Introduktion

Ansible är ett verktyg för konfigurationshantering, distribution och orkestrering. Den använder SSH för kommunikation mellan noder.

Så det finns inget behov av att installera någon agent i noderna. Vi kan använda playbooks för att skriva automatiseringsprocesser i Ansible.

Den här guiden hjälper dig att installera Ansible på Ubuntu 18.04 LTS & 16.04 LTS-system.

Konfigurera Ansible på Ubuntu

Ansible är ett konfigurationshanteringssystem som automatiserar serverkonfiguration, applikationsdistribution och uppgiftshantering.

Det är ett enkelt men kraftfullt verktyg som avsevärt kan förenkla konfigurationshanteringsuppgifter.

I den här guiden kommer vi att visa dig hur du installerar Ansible på en Ubuntu 18.04 server och hantera serverkonfigurationer med den.

Installera Ansible på Ubuntu 18.04 Server#

  • För att installera Ansible på vår Ubuntu-server måste vi först installera några förutsättningspaket. Vi kan göra detta med kommandot apt:
    sudo apt uppdatering
    sudo apt installera programvara-egenskaper-vanligt
  • Därefter lägger vi till Ansible-förrådet till vår källlista: sudo apt-add-repository ppa:ansible/ansible
  • Tryck på ENTER för att fortsätta när du uppmanas. Slutligen kan vi installera själva Ansible-paketet med benägen: sudo apt installera ansible -y
  • ansible --version 2.7 ska visas vilket indikerar en lyckad installation

Konfigurera Ansible användarkonton

Som standard i Ubuntu kan endast privilegierade användare (användare med sudo-åtkomst) köra Ansibl e playbooks.

Men för att underlätta användningen kanske du vill köra playbooks som ett vanligt användarkonto istället för att använda sudo hela tiden.

Det finns två sätt att åstadkomma detta – du kan antingen skapa ett nytt användarkonto specifikt för att köra playbooks eller så kan du använda ditt befintliga användarkonto om det har sudo-privilegier.

I den här guiden kommer vi att visa dig hur du ställer in båda metoderna så att du kan välja vilken som passar dina behov

Kör Ansible på Ubuntu


Ansible är ett konfigurationshanteringsverktyg som används för att hantera serverkonfigurationer, distribuera applikationer och automatisera uppgifter.

Vi kommer också att skapa en enkel Playbook för att distribuera en statisk HTML-webbplats. Ansible playbooks är skrivna i YAML dataserialiseringsformat och de definierar en uppsättning uppgifter som ska utföras på en fjärrvärd eller en grupp av fjärrvärdar.

Innan vi börjar, se till att du har Ansible installerat på ditt lokala system. Om inte kan du följa vår guide om hur man installerar Ansible på CentOS 7.

Ansible Playbooks


Ansible playbooks är ett konfigurations- och multinode-distributionssystem. De kan beskriva en policy som du vill att dina fjärrsystem ska tillämpa eller en uppsättning steg i en allmän IT-process.

Om Ansible-moduler är verktygen i din verktygslåda, är playbooks din verktygslåda. Och precis som dina favoritverktyg kan Ansible-spelböcker bli ganska håriga när de växer över några dussin rader.

Den goda nyheten är att det finns några solida bästa metoder du kan följa för att hålla dina Ansible-spelböcker rena, torra och återanvändbara. I det här inlägget kommer vi att täcka 9 tips för att bygga bättre Ansible-spelböcker.

  1. Håll dina Playbooks korta och söta
    Den här kan tyckas självklar, men den tål att upprepas: ju kortare och enklare din spelbok är, desto lättare är den att läsa och underhålla. Shoer-spelböcker för enstaka ändamål är lättare att felsöka än långa monolitiska. Om du är osäker, dela upp relaterade uppgifter i separata spelböcker och inkludera dem som roller eller som importer i din huvudspelbok.
  2. Skriv idempotenta uppgifter
    En idempotent uppgift är en som har samma effekt oavsett om du kör den en eller hundra gånger. Det kan låta som en konstig sak att sikta på, men idempotenta uppgifter är viktiga eftersom de kan köras om och om igen utan några negativa biverkningar.
    Säg till exempel att du har en uppgift som installerar ett visst programpaket på alla dina servrar. Om uppgiften är idempotent, kommer att köra den flera gånger på samma server att ha samma effekt som att köra den en gång: paketet kommer att installeras (eller, om det redan var installerat, kommer ingenting att hända). Å andra sidan, om uppgiften inte är idempotent, och kör den igen kommer att installera två kopior av mjukvarupaketet (eller värre).
  3. Använd Inkluderar klokt
    Inkludera filer låter dig organisera relaterade uppgifter i logiska enheter som kan återanvändas i andra spelböcker eller inkluderas direkt i pjäser. Du kan tänka på dem som byggstenar för större spelböcker
    Även om inkluderar kan vara mycket användbara, bör de användas sparsamt - för många inkluderade filer kan göra en spelbok svår att följa. En bra tumregel är att använda inkluderar endast när du behöver återanvända uppgifter på mer än ett ställe; om du bara inkluderar uppgifter i en lekbok är det förmodligen renare att bara bädda in dem direkt i pjäserna där de används
    Ansible roller

    Ansible roller består av många spelböcker, vilket liknar moduler i Puppet. Den största fördelen med Ansible-roller är att det är mycket lättare att återanvända koden och schemalägga uppgifterna. I det här kapitlet kommer vi att se hur man skapar och använder Ansible-roller med exempel.

Roller är sättet att samla alla relaterade spelböcker och andra filer på ett ställe så att de kan återanvändas.

Man kan sätta alla pjäser av MySQL-installation i en roll och alla pjäser av Apache-installation i en annan roll.

Allt du behöver är att anropa dessa roller i site.yml för att installera både MySQL och Apache. Eftersom dessa två roller är oberoende kan de köras parallellt utan problem eftersom de inte är beroende av varandra.

Ansible Galaxy


Om du vill installera en Ansible-roll på din virtuella Ubuntu-maskin kan du använda verktyget Galaxy CLI. Det här verktyget låter dig söka efter roller, installera dem och till och med skapa dina egna.

Först måste du se till att du har den senaste versionen av Ansible installerad. Du kan göra detta genom att köra följande kommando:

  • $ sudo apt uppdatering
  • $ sudo apt install software-properties-common
  • $ sudo apt-add-repository --yes ppa:ansible/ansible
  • $ sudo apt uppdatering
  • $ sudo apt installation ansible

När Ansible har installerats kan du börja använda Galaxy CLI. Det första du behöver göra är att skapa en fil som heter "requirements.yml" i din nuvarande arbetskatalog. Den här filen kommer att innehålla en lista över alla roller du vill installera.

Om du till exempel vill installera rollen "nginx" skulle filen requirements.yml se ut så här:

- src: geerlingguy.nginx version: v1.0.0

Efter att requirements.yml har skapats kan du använda följande kommando för att installera alla roller som anges i filen:

$ ansible-galaxy install -r requirements.yml

Ansible Vault


Ansible Vault är en funktion i Ansible som låter dig behålla känslig data, såsom lösenord eller privata nycklar, i krypterade filer, snarare än som klartext i spelböcker eller roller. Dessa valvfiler kan sedan distribueras eller placeras i källkontroll.

För att använda Ansible Vault måste du skapa en valvfil. Detta kan göras med kommandot ansible-vault create:

$ ansible-vault skapa myvault.yml

Du kommer att bli ombedd att ange ett lösenord för att kryptera filen med. När filen har skapats kan du redigera den som vilken annan YAML-fil som helst. När du är klar kan du kryptera filen igen med kommandot ansible-vault encrypt:

$ ansible-vault kryptera myvault.yml

Filen kommer att krypteras med samma lösenord som du använde för att skapa den. För att redigera en krypterad fil måste du ange lösenordet med hjälp av –fråga-valv-pass eller –valv-lösenordsfilalternativ:

$ ansible-vault edit --ask-vault-pass myvault.yml

Slutsats

Nu när du vet hur du kör Ansible på en virtuell Ubuntu-maskin kan du börja automatisera dina infrastrukturuppgifter.

Om du behöver mer hjälp, kolla in Ansible-dokumentationen.

Svenska