Az Ansible olyan szoftvereszközök készlete, amely kódként teszi lehetővé az infrastruktúrát. Nyílt forráskódú, csomag szoftver-kiépítést, konfigurációkezelést és alkalmazástelepítési funkciókat tartalmaz.

Eredetileg Michael DeHaan készítette. 2015-ben vásárolta meg a Red Hat. Az Ansible-t mind a Unix-szerű rendszerek, mind a Microsoft Windows konfigurálására tervezték. Az Ansible ügynök nélküli, ideiglenes távoli kapcsolatokra támaszkodik SSH -n vagy Windows távfelügyeleten keresztül, amely lehetővé teszi a PowerShell végrehajtását. Az Ansible vezérlőcsomópont a legtöbb Unix-szerű rendszeren fut, amely képes a Python futtatására, beleértve a telepített WSL -t tartalmazó Windows rendszereket is. A rendszer konfigurációját részben a saját deklaratív nyelve határozza meg.

Története Az „ansible” kifejezést Ursula K. Le Guin 1966-os Rocannon világa című regényében használta, amivel a kitalált azonnali kommunikációs rendszerekre utal.

Az Ansible eszközt Michael DeHaan, a Cobbler kiépítési szerveralkalmazás szerzője és a Fedora Unified Network Controller (Func) távfelügyeleti keretrendszer társszerzője fejlesztette ki.

Az Ansible, Inc. (eredeti nevén AnsibleWorks, Inc.) a Michael DeHaan, Timothy Gerla és Saïd Ziouani által 2013-ban alapított társaság az Ansible kereskedelmi támogatására és szponzorálására. A Red Hat 2015 októberében megvásárolta az Ansible-t.

Az Ansible a Red Hat tulajdonában lévő Linux Fedora disztribúció részeként található. Elérhető a Red Hat Enterprise Linux, CentOS, openSUSE, SUSE Linux Enterprise, Debian, Ubuntu, Scientific Linux és Oracle Linux rendszereken isc az Extra Packages for Enterprise segítségével. Linux (EPEL), valamint más operációs rendszerekhez.

Felépítése

Áttekintés Az Ansible segít több gép kezelésében azáltal, hogy kiválasztja az Ansible egyszerű ASCII szövegfájlokban tárolt jegyzék (inventory) részeit. A jegyzék konfigurálható. A célgép jegyzékei dinamikusan vagy felhőalapú forrásokból származhat különböző formátumokban ( YAML, INI ).

Az érzékeny adatok titkosított fájlokban tárolhatók az Ansible Vault segítségével 2014 óta. Más népszerű konfigurációkezelő szoftverekkel ellentétben – mint például a Chef, a Puppet, a Salt és a CFEngine – az Ansible ügynök nélküli architektúrát használ. Az Ansible szoftverrel, amely általában nem fut, vagy nincs is telepítve van a vezérelt csomóponton. Ehelyett az Ansible úgy vezérli a csomópontot, hogy SSH-n keresztül ideiglenesen modulokat telepít és futtat a csomóponton. A vezérlési feladat időtartama alatt a modult futtató folyamat egy JSON -alapú protokollal kommunikál a vezérlő géppel annak szabványos bemenetén és kimenetén keresztül. Ha az Ansible nem kezel egy csomópontot, akkor nem fogyaszt erőforrásokat a csomóponton, mivel nem futnak démonok vagy nincs telepítve rajta szoftver.

Függőségek Az Ansible megköveteli, hogy a Python telepítve legyen az összes kezelőgépen, beleértve a pip csomagkezelőt, valamint a konfigurációkezelő szoftvert és a függő csomagokat. A felügyelt hálózati eszközök nem igényelnek több függőséget, és ügynök nélküliek.

Vezérlő csomópont A vezérlőcsomópont (főgazda) a célgépek (" jegyzéknek " nevezett csomópontok) kezelésére (vezérlésére) szolgál, lásd alább. A vezérlőcsomópontok csak Linuxhoz és Unix szerű rendszerekhez érhetők el. A Windows operációs rendszerek nem támogatottak. Több vezérlőcsomópont megengedett. Az Ansible nem igényel egyetlen vezérlőgépet a vezérléshez. Biztosítja, hogy egy összeomlás utáni helyreállítás egyszerű legyen. A csomópontokat a vezérlő csomópont kezeli SSH -n keresztül.

Tervezési célok Az Ansible tervezési céljai a következők:

A természetesen minimalista. Az irányítási rendszerek nem várhatnak el további függőséget a környezettől. Szilárd. Az Ansible segítségével állandó környezetet kell létrehozni. Biztonságos. Az Ansible nem telepít ügynököket a csomópontokra. Csak OpenSSH és Python szükséges a felügyelt csomópontokon. Megbízható. Gondosan megírva az Ansible playbook idempotens lehet, hogy megelőzze a felügyelt rendszerek váratlan mellékhatásait. Lehet olyan playbook-ot írni, amelyek nem idempotensek. Kevés tanulás szükséges hozzá. A Playbookok egy egyszerű és leíró nyelvet használnak, amely YAML és Jinja sablonokon alapul.

Modulok Az modulok többnyire önállóak, és egységesített szkriptnyelven (például Python, Perl, Ruby, Bash stb.) írhatók. ). A modulok egyik irányadó célja az idempotencia, ami azt jelenti, hogy egy művelet többszöri megismétlése esetén is (pl. kimaradás utáni helyreállításkor) mindig ugyanabba az állapotba hozza a rendszert.

Jegyzék (inventory) konfiguráció A célcsomópontok helyét a /etc/ansible/hosts (Linux rendszeren) címen található (INI vagy YAML formátumú) jegyzék konfigurációs listák határozzák meg. A konfigurációs fájl felsorolja az Ansible által elérhető minden csomópont IP-címét vagy gazdagépnevét. Ezenkívül a csomópontok csoportokhoz rendelhetők.

Példa a jegyzékre (INI formátum):

Ez a konfigurációs fájl három csomópontot határoz meg: Az első csomópontot egy IP-cím. Az utóbbi két csomópontot pedig gazdagépnevek alkotják. Ezenkívül az utóbbi két csomópont a webservers csoportjába van csoportosítva.

Az Ansible egyéni Dynamic Inventory szkriptet is használhat, amely képes dinamikusan lekérni az adatokat egy másik rendszerről, és támogatja a csoportok csoportjait.

Előadás jegyzékek (Playbooks) A Playbookok YAML -fájlok, amelyek a felügyelt csomópontokon végzett ismételt -végrehajtások feladatlistáit tárolják. Minden Playbook leképezi (társítja) a gazdagépek egy csoportját egy szerepkörhöz. Minden szerepkört az Ansible feladatok hívásai képviselnek.

Ansible Automation Platform Az Ansible Automation Platform egy REST API, webszolgáltatás és webalapú felület (alkalmazás), amelynek célja, hogy az Ansible-t elérhetőbbé tegye az informatikai ismeretek széles skálájával rendelkező emberek számára. Ez egy több összetevőből álló platform, beleértve a fejlesztői eszközöket, a műveleti felületet, valamint az Automation Mesh-et, amely lehetővé teszi az adatközpontok közötti méretű automatizálási feladatokat. Az AAP egy kereskedelmi termék, amelyet a Red Hat, Inc. támogat, de több mint 17 upstream nyílt forráskódú projektből származik, beleértve az AWX upstream projektet (korábban az Ansible Towerből származik), amely 2017 szeptembere óta nyílt forráskódú.

A Towernek volt egy másik nyílt forráskódú alternatívája is, a Go -ban írt Semaphore.

Platform támogatás A vezérlőgépeknek Linux/Unix gazdagépnek kell lenniük (például BSD, CentOS, Debian, macOS, Red Hat Enterprise Linux, SUSE Linux Enterprise, Ubuntu ), és Python 2.7 vagy 3.5 szükséges.

A felügyelt csomópontoknak, ha Unix-szerűek, Python 2.4-es vagy újabb verzióval kell rendelkezniük. A Python 2.5-ös vagy korábbi verziójú felügyelt csomópontokhoz a python-simplejson csomag is szükséges. Az 1.7-es verzió óta az Ansible képes kezelni a Windows csomópontjait is. Ebben az esetben az SSH helyett a WS-Management protokoll által támogatott natív PowerShell távvezérlés kerül felhasználásra.

Az Ansible telepíthető fizikai gazdagépekre, virtuális gépekre és felhőkörnyezetekre.

AnsibleFest Az AnsibleFest az Ansible felhasználók, közreműködők stb. közösségének éves konferenciája. Év Helyszín 2014 San Francisco, Kalifornia 2015 London, Egyesült Királyság 2016 London, Egyesült Királyság 2016 San Francisco, Kalifornia 2016 Brooklyn, New York 2017 London, Egyesült Királyság 2017 San Francisco 2018 Austin, Texas 2019 Atlanta, Georgia 2020 A COVID-19 világjárvány miatt csak virtuális 2021 A COVID-19 világjárvány miatt csak virtuális 2022 Chicago, Illinois

Jegyzetek

További információk

Kategória:Szabad szoftverek Kategória:Nyílt forrású szoftverek