Ansible

Ansible
Type konfigurationsmanager [d] ogInfrastruktur som kode
Forfatter Michael DeHaan [d]
Udvikler Red Hat og Ansible
Skrevet i Python [1] , PowerShell og Ruby
Operativ system GNU/Linux [2] , BSD [2] , Microsoft Windows [2] og macOS [2]
Første udgave 20. februar 2012
nyeste version
Licens GPL 3.0+ [5] [6] og proprietær
Internet side ansible.com

Ansible  er et konfigurationsstyringssystem skrevet i Python -programmeringssproget , der bruger et deklarativt markup-sprog til at beskrive konfigurationer. Det bruges til at automatisere konfiguration og implementering af software. Anvendes typisk til at administrere Linux -noder, men Windows understøttes også. Understøtter netværksenheder med Python version 2.4 og nyere installeret via SSH eller WinRM forbindelse.

Forfatteren af ​​platformen er Michael DeHaan , som tidligere har udviklet server-side softwareimplementeringssystemet og Func remote administration framework.

Inkluderet med de fleste Linux-distributioner . Der er pakker til Solaris , FreeBSD og macOS . Udviklingen og kommercialiseringen af ​​platformen blev udført af Ansible, den 16. oktober 2015 blev den absorberet af Red Hat Corporation .

Navnet er taget fra det fiktive system med øjeblikkelig hyperrumkommunikation fra filmen " Ender's Game ", og ordet for det er til gengæld lånt fra Ursula Le Guins roman " The World of Rocannon " (1966).

Arkitektur

Sammen med Chef , Puppet og SaltStack betragtes det som et af de mest populære konfigurationsstyringssystemer til Linux . Den største forskel mellem Ansible og analoger er, at du ikke behøver at installere en agent eller klient på målsystemer.

Ansible-brugeren opretter visse scripts ("playbooks", engelske  playbooks ) i YAML -format med en beskrivelse af de påkrævede tilstande for det administrerede system. Et script er en beskrivelse af tilstanden af ​​et systems ressourcer, som det skal være i på et givet tidspunkt, inklusive installerede pakker, kørende tjenester, oprettede filer og mere. Ansible kontrollerer, at hver af ressourcerne i systemet er i den forventede tilstand og forsøger at rette op på ressourcens tilstand, hvis den ikke er som forventet.

For at udføre opgaver anvendes et system af moduler. Hver opgave er et opgavenavn, et modul, der skal bruges og en liste over parametre, der karakteriserer opgaven. Systemet understøtter variabler, variable behandlingsfiltre (understøttet af Jinja2- biblioteket ), betinget udførelse af opgaver, parallelisering, filskabeloner. Målsystemernes adresser og indstillinger er indeholdt i "inventar"-filerne. Gruppering er understøttet. For at implementere et sæt lignende opgaver er der et system af roller.

Ansible Tower

Ansible Tower  er en grafisk grænseflade til styring og overvågning af driften af ​​Ansible. Det er et betalt produkt, men i 2017, efter overførslen af ​​aktiver til RedHat , blev Tower-kildekoderne udgivet under Apache gratis licens . Det nye projekt blev kaldt AWX Project, som nu er kodebasen for det kommercielle produkt Tower [7] .

Produktet har et visuelt statuspanel, vedligeholder adgangslister, brugergrupper og roller, giver centraliseret logning og revision.

Moduler

Kategorier af moduler og deres opgaver:

Noter

  1. Ansible-ssh Open Source-projektet på Open Hub: Languages-side - 2006.
  2. 1 2 3 4 Gratis softwarekatalog
  3. https://pypi.org/project/ansible/#history
  4. Udgivelse 2.13.5 - 2022.
  5. https://github.com/ansible/ansible/blob/devel/COPYING  _
  6. GNU Guix - 2012.
  7. FAQ om AWX-projektet . Hentet 13. april 2018. Arkiveret fra originalen 20. februar 2018.
  8. Platformindstillinger - Ansvarlig dokumentation . docs.ansible.com . Hentet 24. juni 2021. Arkiveret fra originalen 24. juni 2021.

Litteratur