Sobes.tech
Intern

Wat is Ansible?

sobes.tech AI

Antwoord van AI

Ansible is een open-source tool voor IT-automatisering, dat wordt gebruikt voor configuratiebeheer, applicatie-implementatie en taakorkestratie.

Belangrijke concepten:

  • Modules: Code-eenheden die specifieke taken uitvoeren (pakketten installeren, bestanden kopiëren).
  • Playbooks: YAML-bestanden die de reeks taken beschrijven die op hosts worden uitgevoerd.
  • Inventaris: Lijst van hosts (servers) die door Ansible worden beheerd.

Voorbeeld van een playbook:

---
# Playbook voor het installeren van een pakket op hosts

- name: Installeer Nginx
  hosts: webservers # Groep hosts uit de inventaris
  become: true # Taken uitvoeren als root (sudo)

  tasks:
    - name: Zorg dat Nginx geïnstalleerd is
      apt: # Gebruik van het apt-module voor Debian/Ubuntu
        name: nginx
        state: present # Zorg dat het pakket aanwezig is
      # Voorbeeldcommentaar in de playbook-code
      # package:
      #  name: nginx
      #  state: present # Alternatief voor CentOS/RHEL - gebruik het package-module

    - name: Start Nginx service
      service: # Gebruik van het service-module
        name: nginx
        state: started # Zorg dat de service draait
        enabled: yes # Zorg dat de service bij opstarten wordt gestart

Belangrijkste voordelen:

  • Agentless: Vereist geen installatie van agents op beheerde hosts, gebruikt SSH.
  • Eenvoudige syntax: Playbooks zijn geschreven in YAML, wat ze gemakkelijk leesbaar maakt.
  • Idempotentie: Het herhaald uitvoeren van het playbook leidt tot dezelfde eindtoestand.
  • Uitbreidbaarheid: Grote hoeveelheid ingebouwde modules en mogelijkheden om eigen modules te schrijven.

Toepassingen:

  • Serverconfiguratie.
  • Applicatie-implementatie.
  • Orkestratie van complexe werkprocessen.
  • Automatisering van routinetaken in IT.