Ansible på Ubuntu 20.04: Installasjon & Konfigurasjon – Komplett Guide


Installasjon og konfigurering av Ansible på Ubuntu 20.04

Ansible er et effektivt åpen kildekode-verktøy for automatisering av infrastrukturadministrasjon, applikasjonsdistribusjon og orkestrering av skyressurser. Ved hjelp av Ansible kan du styre serverne og applikasjonene dine på en effektiv og skalerbar måte, eliminere manuell konfigurasjon og redusere risikoen for feil. Denne artikkelen vil veilede deg gjennom installasjon og konfigurering av Ansible på Ubuntu 20.04.

Innledning

Ansible fungerer ved hjelp av Playbooks, som er YAML-filer som definerer oppgavene som skal utføres på systemene dine. Disse Playbookene kan benyttes til å utføre en rekke oppgaver, for eksempel installasjon av programvare, opprettelse av brukere, konfigurering av tjenester og mye mer.

En av de største fordelene med Ansible er dens agentløse arkitektur. Dette innebærer at du ikke trenger å installere noen agentprogramvare på de målsystemene du skal administrere. Ansible kommuniserer med disse systemene via SSH, noe som gjør det til en lett og sikker løsning.

Installasjon av Ansible på Ubuntu 20.04

1. Oppdater pakkelisten:


sudo apt update

2. Installer Ansible:


sudo apt install ansible

3. Verifisering:


ansible --version

Du skal se Ansible-versjonen og annen relevant informasjon.

Konfigurering av Ansible

For å bruke Ansible, må du konfigurere det til å kommunisere med målmaskinene dine. Dette kan gjøres ved å opprette en «inventory»-fil og en «ansible.cfg»-fil.

Inventory-fil

Inventory-filen inneholder en liste over de målmaskinene du vil administrere. Den kan opprettes som en enkel tekstfil med følgende format:


[webservers]
server1 ansible_host=192.168.1.10
server2 ansible_host=192.168.1.11

Denne filen definerer en gruppe kalt «webservers» med to maskiner, server1 og server2, og angir deres IP-adresser.

Ansible.cfg-fil

Ansible.cfg-filen inneholder ulike konfigurasjonsparametere for Ansible. Du kan opprette denne filen i hjemmemappen din:


cd ~
vim ansible.cfg

Her er et eksempel på en ansible.cfg-fil:


[defaults]
inventory = /etc/ansible/hosts
host_key_checking = False

Dette angir «inventory»-filens plassering som «/etc/ansible/hosts» og deaktiverer SSH-nøkkelkontroll.

Skrive din første Playbook

Nå som Ansible er installert og konfigurert, kan du begynne å skrive Playbooks. En Playbook er en YAML-fil som inneholder en liste over oppgaver som skal utføres på målmaskinene dine.

Eksempel: Installere Nginx

Følgende Playbook installerer Nginx-webserveren på alle maskiner i gruppen «webservers»:


---
- hosts: webservers
become: true
tasks:
- name: Install Nginx
apt:
name: nginx
state: present
- name: Start Nginx
service:
name: nginx
state: started
enabled: true

Denne Playbooken inneholder følgende:

  • hosts: Angir gruppen av målmaskiner som Playbooken skal kjøres på.
  • become: true: Angir at Playbooken skal kjøres med root-rettigheter.
  • tasks: En liste over oppgaver som skal utføres.
  • apt: Modulen for å installere pakker fra APT-repositoriet.
  • service: Modulen for å administrere systemtjenester (start, stopp, aktivering).

Kjøre en Playbook

Når du har opprettet Playbooken din, kan du kjøre den med følgende kommando:


ansible-playbook playbook.yml

Hvor «playbook.yml» er navnet på Playbook-filen din.

Bruke Ansible-moduler

Ansible har et stort utvalg av moduler som lar deg utføre en rekke oppgaver. Noen av de mest brukte modulene inkluderer:

  • apt: Installerer pakker fra APT-repositoriet.
  • yum: Installerer pakker fra Yum-repositoriet.
  • file: Håndterer filinnhold og tillatelser.
  • copy: Kopierer filer til målmaskiner.
  • user: Oppretter og administrerer brukere.
  • service: Starter, stopper og aktiverer systemtjenester.
  • cron: Oppretter cron-jobber.
  • command: Kjører kommandoer på målmaskiner.
  • script: Kjører skript på målmaskiner.

Avanserte Ansible-funksjoner

I tillegg til de grunnleggende funksjonene som er beskrevet ovenfor, tilbyr Ansible en rekke avanserte funksjoner:

  • Variabler: Tillater bruk av dynamiske data i Playbooks.
  • Maler: Genererer filer fra maler.
  • Roller: Organiserer Playbooks i moduler.
  • Håndterere: Utfører spesifikke oppgaver.
  • Fakta: Samler inn informasjon om målmaskiner.

Konklusjon

Ansible er et uvurderlig verktøy for systemadministratorer og DevOps-folk som ønsker å automatisere sine arbeidsflyter og øke produktiviteten. Ansible er kraftfullt, brukervennlig og skalerbart, og kan benyttes til å håndtere en rekke oppgaver.

Denne artikkelen har vist deg det grunnleggende om installasjon, konfigurasjon og Playbook-utvikling i Ansible. Det er mange andre avanserte funksjoner og muligheter som kan utforskes nærmere. For å lære mer om Ansible, kan du besøke den offisielle Ansible-dokumentasjonen [https://docs.ansible.com/].

Ofte stilte spørsmål (FAQ)

Hva er forskjellen mellom Ansible og Puppet/Chef?

Ansible, Puppet og Chef er alle verktøy for konfigurasjonsadministrasjon, men de har ulike tilnærminger. Ansible er agentløst og benytter SSH for kommunikasjon, mens Puppet og Chef krever at agenter installeres på målmaskiner.

Kan jeg bruke Ansible til å administrere skyressurser?

Ja, Ansible tilbyr moduler for å administrere skyressurser som Amazon AWS, Google Cloud Platform og Microsoft Azure.

Hvordan kan jeg teste Playbooken min før jeg kjører den?

Du kan bruke kommandoen ansible-playbook -i inventory.yml -v playbook.yml for å kjøre Playbooken din i «verbose»-modus, som viser alle trinn og resultater.

Kan jeg bruke Ansible til å automatisere databasekonfigurasjon?

Ja, Ansible kan brukes til å konfigurere databaser som MySQL, PostgreSQL og MongoDB.

Hvordan kan jeg feilsøke Playbookene mine?

Ansible tilbyr ulike funksjoner for feilsøking, som loggfiler, «verbose»-modus og «debug»-modulen.

Hvordan kan jeg implementere Ansible i Continuous Integration/Continuous Delivery (CI/CD)?

Ansible kan enkelt integreres med CI/CD-pipelines. Du kan bruke Ansible til å automatisere byggeprosessen, distribusjon og andre oppgaver.

Hvilke versjoner av Ubuntu støttes av Ansible?

Ansible støtter de fleste moderne versjoner av Ubuntu. Du finner spesifikk informasjon om versjoner i Ansible-dokumentasjonen.

Er Ansible gratis?

Ja, Ansible er et åpen kildekode-verktøy som er gratis å bruke og distribuere.

Hvor kan jeg finne mer informasjon om Ansible?

Du finner mer informasjon om Ansible på den offisielle hjemmesiden [https://www.ansible.com/] og i Ansible-dokumentasjonen [https://docs.ansible.com/].

Hva er fordelene med å bruke Ansible?

Ansible tilbyr en rekke fordeler, inkludert:

  • Agentløs arkitektur
  • Enkel syntaks og brukervennlighet
  • Skalerbarhet for store infrastrukturer
  • Stort fellesskap og dokumentasjon
  • Integrasjon med populære verktøy og tjenester

Tags: Ansible, Ubuntu, automatisering, infrastrukturstyring, konfigurasjonsstyring, DevOps, Playbooks, moduler, inventory, ansible.cfg, installasjon, konfigurasjon