Ansible

Ansible
Sorts konfigurationshanterare [d] ochInfrastruktur som kod
Författare Michael DeHaan [d]
Utvecklaren Red Hat och Ansible
Skrivet i Python [1] , PowerShell och Ruby
Operativ system GNU/Linux [2] , BSD [2] , Microsoft Windows [2] och macOS [2]
Första upplagan 20 februari 2012
senaste versionen
Licens GPL 3.0+ [5] [6] och proprietär
Hemsida ansible.com

Ansible  är ett konfigurationshanteringssystem skrivet i programmeringsspråket Python och använder ett deklarativt märkningsspråk för att beskriva konfigurationer. Den används för att automatisera konfigurationen och distributionen av programvara. Används vanligtvis för att hantera Linux- noder, men Windows stöds också. Stöder nätverksenheter med Python version 2.4 och senare installerade via SSH eller WinRM -anslutning .

Författaren till plattformen är Michael DeHaan , som tidigare utvecklat serversidans programvarudistributionssystem och fjärradministration .

Ingår i de flesta Linux-distributioner . Det finns paket för Solaris , FreeBSD och macOS . Utvecklingen och kommersialiseringen av plattformen utfördes av Ansible, den 16 oktober 2015 absorberades den av Red Hat Corporation .

Namnet är hämtat från det fiktiva systemet för omedelbar hyperrymdkommunikation från filmen " Ender's Game ", ordet för det är i sin tur lånat från Ursula Le Guins roman " The World of Rocannon " (1966).

Arkitektur

Tillsammans med Chef , Puppet och SaltStack anses det vara ett av de mest populära konfigurationshanteringssystemen för Linux . Den största skillnaden mellan Ansible och analoger är att du inte behöver installera en agent eller klient på målsystem.

Ansible-användaren skapar vissa skript ("playbooks", engelska  playbooks ) i YAML -format med en beskrivning av de nödvändiga tillstånden för det hanterade systemet. Ett skript är en beskrivning av tillståndet för ett systems resurser som det ska vara i vid en given tidpunkt, inklusive installerade paket, körda tjänster, skapade filer och mer. Ansible kontrollerar att var och en av resurserna i systemet är i det förväntade tillståndet och försöker fixa tillståndet för resursen om det inte är som förväntat.

För att utföra uppgifter används ett system av moduler. Varje uppgift är ett uppgiftsnamn, en modul att använda och en lista med parametrar som kännetecknar uppgiften. Systemet stöder variabler, filter för variabel bearbetning (stöds av Jinja2- biblioteket ), villkorad exekvering av uppgifter, parallellisering, filmallar. Adresserna och inställningarna för målsystemen finns i "inventering"-filerna. Gruppering stöds. För att implementera en uppsättning liknande uppgifter finns det ett system av roller.

Ansible Tower

Ansible Tower  är ett grafiskt gränssnitt för att hantera och övervaka driften av Ansible. Det är en betald produkt, men 2017, efter överföringen av tillgångar till RedHat , publicerades Tower-källkoderna under Apache-frilicensen . Det nya projektet kallades AWX Project, som nu är kodbasen för den kommersiella produkten Tower [7] .

Produkten har en visuell statuspanel, upprätthåller åtkomstlistor, användargrupper och roller, tillhandahåller centraliserad loggning och revision.

Moduler

Kategorier av moduler och deras uppgifter:

Anteckningar

  1. Ansible-ssh Open Source-projektet på Open Hub: Languages-sidan - 2006.
  2. 1 2 3 4 Gratis programvarukatalog
  3. https://pypi.org/project/ansible/#history
  4. Release 2.13.5 - 2022.
  5. https://github.com/ansible/ansible/blob/devel/COPYING  _
  6. GNU Guix - 2012.
  7. AWX-projektets vanliga frågor . Hämtad 13 april 2018. Arkiverad från originalet 20 februari 2018.
  8. Plattformsalternativ - Ansible Documentation . docs.ansible.com . Hämtad 24 juni 2021. Arkiverad från originalet 24 juni 2021.

Litteratur