Ansible uitvoeren op Ubuntu Virtual Machine

In deze blog leren we hoe je ansible kunt uitvoeren op een virtuele ubuntu-machine. We zullen ook enkele tips en trucs leren om onze ervaring met weerwort aangenamer te maken.

Ansible uitvoeren op Ubuntu Virtual Machine

Invoering

Ansible is een tool voor configuratiebeheer, implementatie en orkestratie. Het gebruikt SSH voor communicatie tussen knooppunten.

Het is dus niet nodig om een agent in de knooppunten te installeren. We kunnen draaiboeken gebruiken om automatiseringsprocessen in Ansible te schrijven.

Deze gids helpt u bij het installeren van Ansible op Ubuntu 18.04 LTS- en 16.04 LTS-systemen.

Ansible instellen op Ubuntu

Ansible is een configuratiebeheersysteem dat serverconfiguratie, toepassingsimplementatie en taakbeheer automatiseert.

Het is een eenvoudige maar krachtige tool die configuratiebeheertaken aanzienlijk kan vereenvoudigen.

In deze handleiding laten we u zien hoe u Ansible op een Ubuntu 18.04 server en beheer er serverconfiguraties mee.

Ansible installeren op Ubuntu 18.04 Server#

  • Om Ansible op onze Ubuntu-server te installeren, moeten we eerst enkele vereiste pakketten installeren. We kunnen dit doen met het apt-commando:
    sudo apt-update
    sudo apt install software-properties-common
  • Vervolgens voegen we de Ansible-repository toe aan onze bronnenlijst: sudo apt-add-repository ppa: ansible/ansible
  • Druk op ENTER om door te gaan wanneer daarom wordt gevraagd. Eindelijk kunnen we het Ansible-pakket zelf installeren toepasselijk: sudo apt install ansible -y
  • ansible --versie 2.7 moet worden weergegeven om een succesvolle installatie aan te geven

Ansible-gebruikersaccounts configureren

Standaard kunnen in Ubuntu alleen bevoorrechte gebruikers (gebruikers met sudo-toegang) Ansibl e playbooks uitvoeren.

Voor gebruiksgemak wilt u misschien playbooks uitvoeren als een gewoon gebruikersaccount in plaats van altijd sudo te gebruiken.

Er zijn twee manieren om dit te bereiken: u kunt een nieuw gebruikersaccount maken, specifiek voor het uitvoeren van playbooks, of u kunt uw bestaande gebruikersaccount gebruiken als het sudo-privileges heeft.

In deze handleiding laten we u zien hoe u beide methoden instelt, zodat u kunt kiezen welke het beste bij u past

Ansible uitvoeren op Ubuntu


Ansible is een tool voor configuratiebeheer die wordt gebruikt voor het beheren van serverconfiguraties, het implementeren van applicaties en het automatiseren van taken.

We zullen ook een eenvoudig Playbook maken om een statische HTML-website te implementeren. Ansible-playbooks zijn geschreven in de YAML-indeling voor gegevensserialisatie en ze definiëren een reeks taken die moeten worden uitgevoerd op een host op afstand of een groep hosts op afstand.

Voordat we aan de slag gaan, moet je ervoor zorgen dat Ansible op je lokale systeem is geïnstalleerd. Als dat niet het geval is, kunt u onze gids over Ansible installeren op CentOS 7 volgen.

Ansible-speelboeken


Ansible-playbooks zijn een configuratie- en multinode-implementatiesysteem. Ze kunnen een beleid beschrijven dat u wilt dat uw systemen op afstand afdwingen of een reeks stappen in een algemeen IT-proces.

Als Ansible-modules de tools in uw toolbox zijn, zijn playbooks uw toolbox. En net als je favoriete elektrische gereedschappen, kunnen Ansible-playbooks behoorlijk harig worden als ze verder groeien dan enkele tientallen regels.

Het goede nieuws is dat er enkele solide best practices zijn die u kunt volgen om uw Ansible-playbooks schoon, droog en herbruikbaar te houden. In dit bericht behandelen we 9 tips voor het bouwen van betere Ansible-playbooks.

  1. Houd je draaiboeken kort en krachtig
    Deze lijkt misschien voor de hand liggend, maar het is voor herhaling vatbaar: hoe korter en eenvoudiger uw draaiboek, hoe gemakkelijker het is om te lezen en te onderhouden. shoter single-purpose playbooks zijn gemakkelijker op te lossen dan lange monolithische. Breek bij twijfel verwante taken op in afzonderlijke draaiboeken en neem ze op als rollen of als invoer in uw hoofddraaiboek.
  2. Schrijf idempotente taken
    Een idempotente taak is een taak die hetzelfde effect heeft, of u deze nu een keer of honderd keer uitvoert. Dat klinkt misschien vreemd om naar te streven, maar idempotente taken zijn belangrijk omdat ze keer op keer kunnen worden uitgevoerd zonder nadelige bijwerkingen.
    Stel dat u een taak hebt waarbij een bepaald softwarepakket op al uw servers wordt geïnstalleerd. Als de taak idempotent is, heeft het meerdere keren uitvoeren op dezelfde server hetzelfde effect als het één keer uitvoeren: het pakket wordt geïnstalleerd (of, als het al was geïnstalleerd, gebeurt er niets). Aan de andere kant, als de taak niet idempotent is, zal het opnieuw uitvoeren van de taak twee exemplaren van het softwarepakket installeren (of erger).
  3. Gebruik Inclusief verstandig
    Met bestanden opnemen kunt u verwante taken ordenen in logische eenheden die opnieuw kunnen worden gebruikt in andere draaiboeken of rechtstreeks kunnen worden opgenomen in toneelstukken. Je kunt ze zien als bouwstenen voor grotere draaiboeken
    Hoewel include-bestanden erg handig kunnen zijn, moeten ze spaarzaam worden gebruikt — te veel meegeleverde bestanden kunnen een draaiboek moeilijk te volgen maken. Een goede vuistregel is om include alleen te gebruiken wanneer u taken op meer dan één plek moet hergebruiken; als je alleen taken in één draaiboek opneemt, is het waarschijnlijk schoner om ze gewoon rechtstreeks in te sluiten in de toneelstukken waarin ze worden gebruikt
    Ansible-rollen

    Ansible-rollen bestaan uit veel draaiboeken, vergelijkbaar met modules in Puppet. Het grootste voordeel van Ansible-rollen is dat het veel eenvoudiger is om de code opnieuw te gebruiken en de taken in te plannen. In dit hoofdstuk zullen we zien hoe u Ansible-rollen met voorbeelden kunt maken en gebruiken.

Rollen zijn de manier om alle gerelateerde draaiboeken en andere bestanden op één plek te bundelen, zodat ze opnieuw kunnen worden gebruikt.

Men kan alle spelen van MySQL-installatie in één rol plaatsen en alle spelen van Apache-installatie in een andere rol.

Het enige dat u nodig hebt, is deze rollen in site.yml aan te roepen om zowel MySQL als Apache te installeren. Omdat deze twee rollen onafhankelijk zijn, kunnen ze probleemloos parallel worden uitgevoerd, omdat ze niet van elkaar afhankelijk zijn.

Ansible Galaxy


Als u een Ansible-rol op uw virtuele Ubuntu-machine wilt installeren, kunt u de Galaxy CLI-tool gebruiken. Met deze tool kun je rollen zoeken, installeren en zelfs je eigen rollen maken.

Eerst moet u ervoor zorgen dat u de nieuwste versie van Ansible hebt geïnstalleerd. U kunt dit doen door de volgende opdracht uit te voeren:

  • $ sudo apt-update
  • $ sudo apt install software-properties-common
  • $ sudo apt-add-repository --ja ppa: ansible/ansible
  • $ sudo apt-update
  • $ sudo apt installeer ansible

Zodra Ansible is geïnstalleerd, kunt u de Galaxy CLI gaan gebruiken. Het eerste dat u moet doen, is een bestand met de naam "requirements.yml" in uw huidige werkdirectory maken. Dit bestand bevat een lijst met alle rollen die u wilt installeren.

Als u bijvoorbeeld de rol "nginx" wilt installeren, ziet uw bestand requirements.yml er als volgt uit:

- src: geerlingguy.nginx versie: v1.0.0

Nadat requirements.yml is gemaakt, kunt u de volgende opdracht gebruiken om alle rollen in het bestand te installeren:

$ ansible-galaxy install -r requirements.yml

Ansible kluis


Ansible Vault is een functie van Ansible waarmee u gevoelige gegevens, zoals wachtwoorden of privésleutels, in gecodeerde bestanden kunt bewaren in plaats van als platte tekst in draaiboeken of rollen. Deze kluisbestanden kunnen vervolgens worden gedistribueerd of onder bronbeheer worden geplaatst.

Om Ansible Vault te gebruiken, moet u een kluisbestand maken. Dit kan gedaan worden met het anible-vault create commando:

$ anible-vault maakt myvault.yml

U wordt gevraagd om een wachtwoord om het bestand mee te versleutelen. Nadat het bestand is gemaakt, kunt u het bewerken zoals elk ander YAML-bestand. Als je klaar bent, kun je het bestand opnieuw versleutelen met de opdracht ansible-vault encrypt:

$ anible-vault versleutelt myvault.yml

Het bestand wordt versleuteld met hetzelfde wachtwoord dat u hebt gebruikt om het te maken. Om een gecodeerd bestand te bewerken, moet u het wachtwoord invoeren met behulp van de –vragen-springen-passen of –kluis-wachtwoord-bestand opties:

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

Conclusie

Nu u weet hoe u Ansible op een virtuele Ubuntu-machine moet uitvoeren, kunt u beginnen met het automatiseren van uw infrastructuurtaken.

Als je meer hulp nodig hebt, bekijk dan de Ansible-documentatie.

Nederlands