Ansible

Ansible
Tip de manager de configurare [d] șiinfrastructură ca cod
Autor Michael DeHaan [d]
Dezvoltator Red Hat și Ansible
Scris in Python [1] , PowerShell și Ruby
Sistem de operare GNU/Linux [2] , BSD [2] , Microsoft Windows [2] și macOS [2]
Prima editie 20 februarie 2012
ultima versiune
Licență GPL 3.0+ [5] [6] și proprietar
Site-ul web ansible.com

Ansible  este un sistem de management al configurației scris în limbajul de programare Python , folosind un limbaj de marcare declarativ pentru a descrie configurațiile. Este folosit pentru a automatiza configurarea și implementarea software-ului. Folosit de obicei pentru a gestiona nodurile Linux , dar este acceptat și Windows . Suportă dispozitive de rețea cu versiunea Python 2.4 și o versiune ulterioară instalată prin conexiune SSH sau WinRM .

Autorul platformei este Michael DeHaan , care a dezvoltat anterior sistemul de implementare a software-ului pe server și cadrului de administrare la distanță Func.

Inclus cu majoritatea distribuțiilor Linux . Există pachete pentru Solaris , FreeBSD și macOS . Dezvoltarea și comercializarea platformei a fost realizată de Ansible, pe 16 octombrie 2015 a fost absorbită de Red Hat Corporation .

Numele este preluat din sistemul fictiv de comunicare hiperspațială instantanee din filmul „ Ender’s Game ”, cuvântul pentru acesta, la rândul său, este împrumutat din romanul lui Ursula Le GuinThe World of Rocannon ” (1966).

Arhitectură

Alături de Chef , Puppet și SaltStack este considerat unul dintre cele mai populare sisteme de management al configurației pentru Linux . Principala diferență dintre Ansible și analogi este că nu trebuie să instalați un agent sau un client pe sistemele țintă.

Utilizatorul Ansible creează anumite scripturi („playbooks”, playbooks în limba engleză  ) în format YAML cu o descriere a stărilor necesare ale sistemului gestionat. Un script este o descriere a stării resurselor unui sistem în care ar trebui să se afle la un moment dat, inclusiv pachetele instalate, serviciile care rulează, fișierele create și multe altele. Ansible verifică dacă fiecare dintre resursele din sistem este în starea așteptată și încearcă să repare starea resursei dacă nu este așa cum se aștepta.

Pentru realizarea sarcinilor se folosește un sistem de module. Fiecare sarcină este un nume de sarcină, un modul de utilizat și o listă de parametri care caracterizează sarcina. Sistemul acceptă variabile, filtre de procesare a variabilelor (suportate de biblioteca Jinja2 ), execuția condiționată a sarcinilor, paralelizarea, șabloane de fișiere. Adresele și setările sistemelor țintă sunt conținute în fișierele „inventar”. Gruparea este acceptată. Pentru a implementa un set de sarcini similare, există un sistem de roluri.

Ansible Tower

Ansible Tower  este o interfață grafică pentru gestionarea și monitorizarea funcționării Ansible. Este un produs cu plată, dar în 2017, după transferul activelor către RedHat , codurile sursă Tower au fost publicate sub licența gratuită Apache . Noul proiect a fost numit Proiectul AWX, care este acum baza de cod pentru produsul comercial Tower [7] .

Produsul are un panou vizual de stare, menține liste de acces, grupuri de utilizatori și roluri, oferă înregistrare și auditare centralizată.

Module

Categorii de module și sarcinile acestora:

Note

  1. Proiectul ansible-ssh Open Source pe Open Hub: Pagina de limbi - 2006.
  2. 1 2 3 4 Director de software gratuit
  3. https://pypi.org/project/ansible/#history
  4. Versiunea 2.13.5 - 2022.
  5. https://github.com/ansible/ansible/blob/devel/COPYING  _
  6. GNU Guix - 2012.
  7. Întrebări frecvente ale proiectului AWX . Consultat la 13 aprilie 2018. Arhivat din original la 20 februarie 2018.
  8. Platform Options - Ansible Documentation . docs.ansible.com . Preluat la 24 iunie 2021. Arhivat din original la 24 iunie 2021.

Literatură