Přeskočit na obsah

Ansible (software): Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
ShadowRobot (diskuse | příspěvky)
m WPCleaner v1.43b - Fixed using WP:WCW (Odkaz shodný se svým popisem)
aktualizace (verze i linků), typo + výslovnostě
Řádek 1: Řádek 1:
{{Infobox - software
{{Infobox - software
|jméno = Ansible
| jméno = Ansible
|logo = Ansible Logo.png
| logo = Ansible Logo.png
| velikost loga = 160px
|obrázek =
| obrázek =
|popisek =
| popisek =
|autor = Michael DeHaan
|vývojář = [[Red Hat]]
| vývojář = [http://github.com/orgs/ansible/people Ansible komunita] / Ansible Inc. / [[Red Hat|Red Hat Inc.]]
|vydán = [[20. únor|20. února]] [[2012]]
| první vydání = [[20. únor]]a [[2012]]
|aktuální verze = 2.1.1.0
| aktuální verze = 2.6
|datum aktuální verze = [[28. červenec|28. července]] [[2016]]
| datum aktuální verze = [[28. červen|28. června]] [[2018]]<ref name="aktuál" />
|programování jazyk = [[Python (programovací jazyk)|Python]]
| programování jazyk = [[Python (programovací jazyk)|Python]]
|operační systém = [[Linux]], [[UN*X]], [[Microsoft Windows|Windows]]
| operační systém = [[GNU]]/[[Linux]], [[UN*X|Unix-like]], [[macOS]], [[Microsoft Windows|MS Windows]]
|platforma =
| platforma =
| lokalizace = angličtina
|jazyk =
|typ softwaru = [[Konfigurační správa]], [[Infrastructure as Code]], Orchestrační stroj
| typ softwaru = [[Konfigurační správa]], [[Infrastructure as Code]], Orchestrační stroj
|licence = [[GNU General Public License]]
| licence = [[Proprietární software|proprietární]] / [[GNU General Public License]]
|web = {{URL|www.ansible.com}}
| web = {{URL|www.ansible.com}}
}}
}}


'''Ansible''' je [[svobodný software]], který vytváří [[Počítačová platforma|platformu]] pro konfigurační správu a řízení [[počítač]]ů kombinující víceuzlové [[nasazení softwaru]], ''ad hoc'' provádění [[Úloha (počítače)|úloh]] a [[Konfigurační správa|správu konfigurací]].<ref name="Achieving_Rolling_Updates_and_Continuous_Deployment_with_Zero_Downtime" /> Ansible spravuje [[Síťový uzel|počítače v síti]] pomocí [[Secure Shell|SSH]] nebo přes PowerShell. Má minimální nároky na nainstalovaný software, na Linuxových uzlech vystačí s [[Python]]em verze 2.4 nebo vyšší, na uzlech s Windows s [[Windows PowerShell|PowerShell]] verze 3.0 nebo vyšší.<ref>{{Citace elektronické monografie|url= http://docs.ansible.com/intro_getting_started.html|titul= Getting Started - Ansible|datum= 2014-02-06}}</ref> Používá moduly využívající [[JSON]] a standardní výstup, které mohou být napsány v libovolném programovacím jazyce. Pro znovupoužitelné popisy stavů uzlů se používá [[YAML]].<ref>{{Citace elektronické monografie|url= http://www.onlyjava.com/blog-post.cfm?id=55514713|titul= Ansible: CM, Deployment and Ad Hoc Task Execution All in One|vydavatel = DZone|datum= 2012-04-18}}</ref>
'''Ansible''' ([[Angličtina#V.C3.BDslovnost|výslovnost]] [ˈaːnsəbl {{malé|Amer}} ˈænsəbl]) je [[svobodný software]], který vytváří [[Počítačová platforma|platformu]] pro konfigurační správu a řízení [[počítač]]ů kombinující víceuzlové [[nasazení softwaru]], ''ad hoc'' provádění [[Úloha (počítače)|úloh]] a [[Konfigurační správa|správu konfigurací]].<ref name="aru" /> Ansible spravuje [[Síťový uzel|počítače v&nbsp;síti]] pomocí [[Secure Shell|SSH]] nebo přes PowerShell. Má minimální nároky na nainstalovaný software, na linuxových uzlech vystačí s&nbsp;[[Python]]em verze 2.4 nebo vyšší, na uzlech s&nbsp;MS Windows s&nbsp;[[Windows PowerShell|PowerShell]] verze 3.0 nebo vyšší.<ref name="gh" /> Používá moduly využívající [[JavaScript Object Notation|JSON]] a standardní výstup, které mohou být napsány v&nbsp;libovolném programovacím jazyce. Pro znovupoužitelné popisy stavů uzlů se používá [[YAML]].<ref name="cm" />


Ansible vyvinul Michael DeHaan, autor provisioning serveru [[Cobbler (software)|Cobbler]] pro Linux a spoluautor frameworku [[Fedora Unified Network Controller|Func]] pro vzdálenou administraci.<ref>{{Citace elektronické monografie|url= http://www.coloandcloud.com/editorial/an-interview-with-ansible-author-michael-dehaan/|titul= An Interview with Ansible Author Michael DeHaan|vydavatel = Colo a Cloud|datum= 2012-04-17}}</ref> Ansible je součást linuxové distribuce [[Fedora]] vytvářené firmou [[Red Hat]] Inc., v podobě balíčků EPEL (Extra Packages for Enterprise Linux) je dostupný i pro [[Red Hat Enterprise Linux]], [[CentOS]] a [[Scientific Linux]], i pro další operační systémy.<ref>{{Citace elektronické monografie|url= http://pkgs.org/download/ansible|titul= Ansible|vydavatel = Linux Packages Vyhledá}}</ref>
Ansible vyvinul Michael DeHaan, autor provisioning serveru [[Cobbler (software)|Cobbler]] pro Linux a spoluautor frameworku [[Fedora Unified Network Controller|Func]] pro vzdálenou administraci.<ref name="mdh" /> Ansible je součást linuxové distribuce [[Fedora]] vytvářené firmou [[Red Hat]] Inc., v&nbsp;podobě balíčků EPEL (Extra Packages for Enterprise Linux) je dostupný i pro [[Red Hat Enterprise Linux]], [[CentOS]] a [[Scientific Linux]], i&nbsp;pro další operační systémy.<ref name="pkgs" />


Pro komerční podporu a financování Ansiblu byla vytvořena společnost AnsibleWorks, Inc., později přejmenovaná na Ansible, Inc.<ref>{{Citace elektronické monografie
Pro komerční podporu a financování Ansiblu byla vytvořena společnost AnsibleWorks, Inc., později přejmenovaná na Ansible, Inc.,<ref name="ab" /><ref name="co" /> kterou v&nbsp;říjnu 2015 odkoupila firma Red Hat.<ref name="vb" /><ref name="rh" />
| url = http://www.ansible.com
| archive-url = https://WWW.archive.org/WWW/20150905211125/http://www.ansible.com/about
| archive-datum = 2015-09-05
| titul = About Ansible
| datum přístupu = 2016-07-08
| datum =
| vydavatel = Ansible, Inc.
}}</ref><ref>{{Citace elektronické monografie
| url = http://www.bloomberg.com/research/stocks/private/snapshot.asp?privcapId=233465248
| titul = Ansible, Inc.: Private Company Information
| datum přístupu = 2016-07-08
| dílo = Businessweek
| vydavatel = Bloomberg, Inc.
}}</ref>, kterou v říjnu 2015 odkoupila firma Red Hat.<ref>{{Citace elektronické monografie|url= http://venturebeat.com/2015/10/15/source-red-hat-is-buying-ansible-for-more-than-100m/|titul= Red Hat kupuje Ansible za více než 100 miliónů dolarů|autor = Jordan Novet|dílo= [[VentureBeat]]|datum= 2015-10-16|datum přístupu = 2015-10-16}}</ref><ref>{{Citace elektronické monografie|url= http://www.redhat.com/en/about/press-releases/red-hat-acquire-it-automation-and-devops-leader-ansible|titul= Red Hat na Acquire IT Automatizace a DevOps Leader Ansible|dílo= redhat.com|datum= 2015-10-16|datum přístupu = 2015-10-16}}</ref>


Název „Ansible“ se odkazuje na komunikační zařízení umožňující přenos [[nadsvětelná rychlost|nadsvětelnou rychlostí]], které vymyslela [[Ursula K. Le Guinová]] pro svůj román ''[[Rocannonův svět]]'' z roku 1966, a které popisuje [[Orson Scott Card]] v románu ''[[Enderova hra (román)|Enderova hra]]''.<ref>
Název „Ansible“ se odkazuje na komunikační zařízení umožňující přenos [[nadsvětelná rychlost|nadsvětelnou rychlostí]], které vymyslela [[Feminismus|feministická]] [[spisovatel]]ka [[Ursula&nbsp;K. Le&nbsp;Guinová]] pro svůj román ''[[Rocannonův svět]]'' z&nbsp;roku 1966, a&nbsp;které popisuje [[Orson Scott Card]] v&nbsp;románu ''[[Enderova hra (román)|Enderova hra]]''.<ref name="fq" />
{{Citace elektronické monografie
|url= http://docs.ansible.com/faq.html
|titul= Ansible FAQ
}}
</ref>


== Architektura ==
== Architektura ==
Jako většina systémů pro správu konfigurací rozlišuje Ansible dva typy serverů: řídicí stroj a uzly. Veškerá orchestrace je řízena z&nbsp;jednoho řídicího stroje, který pro přístup na spravované uzly používá [[Secure Shell|SSH]]. Spravované uzly jsou popsány na řídicím stroji v&nbsp;<code>inventory</code> (výsl. {{IPA2|ˈɪnvəntri {{malé|Amer}} ˈɪnvəntɔːri}}).


Pro orchestraci uzlů používá Ansible moduly, které na uzly dostává a spouští pomocí SSH. Moduly se dočasně ukládají na uzly a komunikují s&nbsp;řídicím strojem pomocí protokolu [[JavaScript Object Notation|JSON]] na standardním výstupu.<ref name="aid" /> V&nbsp;okamžiku, kdy Ansible uzly neřídí, nespotřebovává žádné prostředky, protože na spravovaných uzlech neběží žádné programy nebo démoni.<ref name="tb" />
Jako většina systémů pro správu konfigurací rozlišuje Ansible dva typy serverů: řídicí stroj a uzly. Veškerá orchestrace je řízena z jednoho řídicího stroje, který pro přístup na spravované uzly používá [[Secure Shell|SSH]]. Spravované uzly jsou popsány na řídicím stroji v ''inventory''.

Pro orchestraci uzlů používá Ansible moduly, které na uzly dostává a spouští pomocí SSH. Moduly se dočasně ukládají na uzly a komunikují s řídicím strojem pomocí protokolu [[JSON]] na standardním výstupu.<ref name="Ansible_in_Depth">{{Citace elektronické monografie |url=http://cdn2.hubspot.net/hub/330046/file-480366556-pdf/pdf_content/Ansible_in_Depth.pdf?t=1390852822000 |titul=Ansible in Depth |formát=pdf}}</ref> V okamžiku, kdy Ansible uzly neřídí, nespotřebovává žádné prostředky, protože na spravovaných uzlech neběží žádné programy nebo démoni.<ref name="The_Benefits_of_Agentless_Architecture" />


Jiné často používané systémy pro pro správu konfigurací – jako například [[Chef (software)|Chef]], [[Puppet (software)|Puppet]] a [[CFEngine]] – používají agenty. U těchto systémů musí být na každém uzlu nainstalován [[Démon (software)|démon]], který komunikuje s řídicím strojem. Ansible naproti tomu používá bezagentovou architekturu, která vystačí s démonem pro přihlášení na příslušný uzel. Výhodou je i nižší provoz po síti díky tomu, že uzly s řídicím strojem samostatně nekomunikují.<ref name="The_Benefits_of_Agentless_Architecture">{{Citace elektronické monografie |url=http://cdn2.hubspot.net/hub/330046/file-479013288-pdf/pdf_content/The_Benefits_of_Agentless_Architecture.pdf?t=1390852839000 |titul=The Benefits of Agentless Architecture |formát=pdf}}</ref>
Jiné často používané systémy pro pro správu konfigurací – jako například [[Chef (software)|Chef]], [[Puppet (software)|Puppet]] a [[CFEngine]] – používají agenty. U&nbsp;těchto systémů musí být na každém uzlu nainstalován [[Démon (software)|démon]], který komunikuje s&nbsp;řídicím strojem. Ansible naproti tomu používá bezagentovou architekturu, která vystačí s&nbsp;démonem pro přihlášení na příslušný uzel. Výhodou je i nižší provoz po síti díky tomu, že uzly s&nbsp;řídicím strojem samostatně nekomunikují.<ref name="tb" />


=== Designové cíle ===
=== Designové cíle ===
K designovým cílům Ansiblu patří:<ref name="aid" />


* '''Minimalismus''' Systém správy by neměl vyžadovat instalaci žádného dodatečného softwaru.<ref name="tb" />
K designovým cílům Ansiblu patří:<ref name="Ansible_in_Depth" />
* '''Konzistence'''

* '''Bezpečnost''' Ansible nevyužívá na uzlech agenty. Vyžaduje pouze [[OpenSSH]], který je výborně otestován.<ref name="tb" />
* '''Minimalismus.''' Systém správy by neměl vyžadovat instalaci žádného dodatečného softwaru.<ref name="The_Benefits_of_Agentless_Architecture" />
* '''Vysoká spolehlivost.''' Pečlivě napsaný Ansible playbook {{IPA2|ˈpleɪbʊk}} je [[idempotence|idempotentní]], což zabraňuje neočekávaným [[Vedlejší efekt|vedlejším efektům]] na spravovaných systémech.<ref name="aru" /> Špatně napsaný playbook však může nebýt idempotentní.
* '''Konzistence.'''
* '''Bezpečnost.''' Ansible nevyužívá na uzlech agenty. Vyžaduje pouze [[OpenSSH]], který je výborně otestován.<ref name="The_Benefits_of_Agentless_Architecture" />
* '''Vysoká spolehlivost.''' Pečlivě napsaný Ansible playbook je [[idempotence|idempotentní]], což zabraňuje neočekávaným [[Vedlejší efekt|vedlejším efektům]] na spravovaných systémech.<ref name="Achieving_Rolling_Updates_and_Continuous_Deployment_with_Zero_Downtime">{{Citace elektronické monografie |url=http://cdn2.hubspot.net/hub/330046/file-479069823-pdf/pdf_content/Achieving_Rolling_Updates_and_Continuous_Deployment_with_Zero_Downtime.pdf |titul=Achieving Rolling Updates and Continuous Deployment with Zero Downtime |formát=pdf}}</ref> Špatně napsaný playbook však může nebýt idempotentní.
* '''Plochá učicí křivka.''' Playbooky používají snadno zvládnutelný a popisný jazyk založený na [[YAML]] a [[Jinja2|šablonách Jinja]].
* '''Plochá učicí křivka.''' Playbooky používají snadno zvládnutelný a popisný jazyk založený na [[YAML]] a [[Jinja2|šablonách Jinja]].


=== Moduly ===
=== Moduly ===
Moduly jsou v&nbsp;Ansiblu považovány za jednotky činnosti. Jednotlivé moduly jsou obvykle samostatné a mohou být napsány v&nbsp;běžných skriptovacích jazycích ([[Python]], [[Perl]], [[Ruby]], [[bash]], atd.). K&nbsp;základním vlastnostem modulů patří jejich [[idempotence]], což znamená, že několikanásobné opakování operace (např. při zotavení z&nbsp;výpadku) uvede systém do stejného stavu.<ref name="aid" />

Moduly jsou v Ansiblu považovány za jednotky činnosti. Jednotlivé moduly jsou obvykle samostatné a mohou být napsány v běžných skriptovacích jazycích ([[Python]], [[Perl]], [[Ruby]], [[bash]], atd.). K základním vlastnostem modulů patří jejich [[idempotence]], což znamená, že několikanásobné opakování operace (např. při zotavení z výpadku) uvede systém do stejného stavu.<ref name="Ansible_in_Depth" />


=== Inventory ===
=== Inventory ===
Inventory je popis uzlů, ke kterým lze v&nbsp;Ansiblu přistupovat. Inventory je popsané [[Konfigurační soubor|konfiguračním souborem]] v&nbsp;<tt>[[Konfigurační_soubor#Microsoft_Windows|INI]]</tt> formátu, jehož implicitní umístění je <tt>/etc/ansible/hosts</tt>. Konfigurační soubor obsahuje pro každý spravovaný uzel buď buď jeho [[IP adresa|IP adresu]] nebo [[jméno počítače]]. Uzly lze navíc sdružovat do skupin.<ref name="inv" />

Inventory je popis uzlů, ke kterým lze v Ansiblu přistupovat. Inventory je popsané [[Konfigurační soubor|konfiguračním souborem]] v [[INI]] formátu, jehož implicitní umístění je <code>/etc/ansible/hosts</code>. Konfigurační soubor obsahuje pro každý spravovaný uzel buď buď jeho [[IP adresa|IP adresu]] nebo [[jméno počítače]]. Uzly lze navíc sdružovat do skupin.<ref>{{Citace elektronické monografie |url=http://docs.ansible.com/intro_inventory.html |titul=Inventory &#124; Ansible |datum=2014-04-26}}</ref>


Příklad konfiguračního souboru:
Příklad konfiguračního souboru:
Řádek 83: Řádek 60:
Tento konfigurační soubor definuje tři uzly. První uzel je zadaný IP adresou a další dva jmény. Druhý a třetí uzel jsou navíc sdruženy do skupiny <code>webservers</code>.
Tento konfigurační soubor definuje tři uzly. První uzel je zadaný IP adresou a další dva jmény. Druhý a třetí uzel jsou navíc sdruženy do skupiny <code>webservers</code>.


Ansible může být také použit pro skript realizující „Dynamické Inventory“, který může načítat data z libovolného informačního systému.
Ansible může být také použit pro skript realizující <code>Dynamické Inventory</code>, který může načítat data z&nbsp;libovolného informačního systému.


=== Playbooky ===
=== Playbooky ===
Playbooky popisují v&nbsp;Ansiblu konfigurace, nasazení softwaru a orchestraci jednotlivých složek.<ref name="dac" /> Playbooky mají formát [[YAML]]. Každý Playbook přiřazuje skupině uzlů sadu rolí. Jednotlivé role jsou reprezentovány voláními úloh v&nbsp;Ansiblu.

Playbooky popisují v Ansiblu konfigurace, nasazení softwaru a orchestraci jednotlivých složek.<ref>{{Citace elektronické monografie |url=http://docs.ansible.com/playbooks.html|titul=Playbooks &#124; Ansible |datum=2014-04-26}}</ref> Playbooky mají formát [[YAML]]. Každý Playbook přiřazuje skupině uzlů sadu rolí. Jednotlivé role jsou reprezentovány voláními úloh v Ansiblu.


== Dostupnost pro jednotlivé platformy ==
== Dostupnost pro jednotlivé platformy ==
Na řídicím stroji musí být nainstalován Python 2.6 nebo 2.7. Řídicí stroj lze provozovat na většině distribucí [[Linux]]u a [[Unix]]u, mj. na [[Red Hat]]u, [[Debian]]u, [[CentOS]]u, [[macOS]]u, [[BSD]] a [[Ubuntu]].


Na spravovaných uzlech musí být Python verze 2.4 nebo vyšší. Uzly s Pythonem do verze 2.5 musí mít nainstalovaný balíček <tt>python-simplejson</tt>.<ref name="igs" /> Ansible může od verze 1.7 spravovat také uzly se [[Operační systém|systémem]] [[Microsoft Windows|MS Windows]].<ref name="v1.7" /><ref name="igs" />
Na řídicím stroji musí být nainstalován Python 2.6 nebo 2.7. Řídicí stroj lze provozovat na většině distribucí [[Linux]]u a [[Unix]]u, mj. na [[Red Hat]]u, [[Debian]]u, [[CentOS]]u, [[OS X]], [[BSD]] a [[Ubuntu]].

Na spravovaných uzlech musí být Python verze 2.4 nebo vyšší. Uzly s Pythonem do verze 2.5 musí mít nainstalovaný balíček <code>python-simplejson</code>.<ref name="Intro_Getting_Started" /> Ansible může od verze 1.7 spravovat také uzly se [[Operační systém|systémem]] [[Microsoft Windows|Windows]].<ref>{{Citace elektronické monografie |url=http://www.ansible.com/blog/ansible-1.7-is-released-windows-beta-and-more | titul = Ansible 1.7 is released - Windows beta and more! |datum=2014-08-07}}</ref><ref name="Intro_Getting_Started">{{Citace elektronické monografie |url=http://docs.ansible.com/intro_getting_started.html |titul=Getting &#124; Started |datum=2014-02-06}}</ref>


=== Podpora cloud computingu ===
=== Podpora cloud computingu ===
Ansible může pracovat na virtuálních strojích, ve veřejných i soukromých [[Cloud computing|cloudech]] jako jsou [[Amazon Web Services]], [[CloudStack]], [[DigitalOcean]], [[Eucalyptus (software)|Eucalyptus Cloud]], [[Google Cloud Platform]], [[KVM|KVM Switch]], [[Microsoft Azure Platform]], [[OpenStack]], [[Rackspace]], [[SoftVrstva]], [[VMware]] a [[Xen|XenServer]].<ref name="aid" />

Ansible může pracovat na virtuálních strojích, ve veřejných i soukromých [[Cloud computing|cloudech]] jako jsou [[Amazon Web Services]], [[CloudStack]], [[DigitalOcean]], [[Eucalyptus (software)|Eucalyptus Cloud]], [[Google Cloud Platform]], [[KVM]], [[Microsoft Azure Platform]], [[OpenStack]], [[Rackspace]], [[SoftVrstva]], [[VMware]] a [[Xen|XenServer]].<ref name="Ansible_in_Depth" />


=== Podpora big data ===
=== Podpora big data ===
Ansible může být nasazen pro zpracování rozsáhlých data, pro rozsáhlá úložiště a analytická prostředí, včetně [[Apache Hadoop|Hadoop]], [[Riak]] a [[Aerospike databáze|Aerospike]]. V&nbsp;těchto prostředích lze Ansible použít pro správu prostředků jednotlivých uzlů, nenáročnou na spotřebu času CPU a paměti. Ansible navíc poskytuje monitorovací funkcionality, které mohou měřit dostupné prostředky systému, což může pomáhat při správě těchto uzlů.<ref name="aid" />

Ansible může být nasazen pro zpracování rozsáhlých data, pro rozsáhlá úložiště a analytická prostředí, včetně [[Hadoop]], [[Riak]] a [[Aerospike databáze|Aerospike]]. V těchto prostředích lze Ansible použít pro správu prostředků jednotlivých uzlů, nenáročnou na spotřebu času CPU a paměti. Ansible navíc poskytuje monitorovací funkcionality, které mohou měřit dostupné prostředky systému, což může pomáhat při správě těchto uzlů.<ref name="Ansible_in_Depth" />


== Odkazy ==
== Odkazy ==


=== Reference ===
=== Reference ===

{{Překlad|en|Ansible (software)|736668038}}
{{Překlad|en|Ansible (software)|736668038}}
<references />
<references>
<ref name="aktuál">{{Citace elektronické monografie | příjmení = Clay | jméno = Matt | titul = Ansible 2.6 "Heartbreaker" Release Notes | url = http://github.com/ansible/ansible/blob/stable-2.6/changelogs/CHANGELOG-v2.6.rst | vydavatel = GitHub, Inc | datum vydání = 2018-06-28 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="aru">{{Citace elektronické monografie | titul = Achieving Rolling Updates and Continuous Deployment with Zero Downtime | url = http://cdn2.hubspot.net/hub/330046/file-479069823-pdf/pdf_content/Achieving_Rolling_Updates_and_Continuous_Deployment_with_Zero_Downtime.pdf | Druh nosiče = [[Portable Document Format|pdf]] | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="gh">{{Citace elektronické monografie | titul = Getting Started - Ansible | vydavatel = Red Hat, Inc. | url = http://docs.ansible.com/intro_getting_started.html | datum vydání = 2014-02-06 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="cm">{{Citace elektronické monografie | příjmení = Skowronski | jméno = Jason | titul = Ansible: CM, Deployment, and Ad-hoc Task Execution All in One | další = DevOps Zone | vydavatel = DZone | url = http://dzone.com/articles/automatically-identify-which-code-changes-caused-e | datum = 2012-04-18}}</ref>
<ref name="mdh">{{Citace elektronické monografie | titul = An Interview with Ansible Author Michael DeHaan | url = http://archive.is/n4WgL | vydavatel = Colo a Cloud | datum vydání = 2012-04-17 | datum přístupu = 2018-07-01 | poznámka = archivovaná stránka | jazyk = en}}</ref>
<ref name="pkgs">{{Citace elektronické monografie | titul = Ansible Download (DEB, RPM, TXZ, XZ) | url = http://pkgs.org/download/ansible | vydavatel = Packages Search | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="ab">{{Citace elektronické monografie | korporace = Apache Brooklyn | titul = About Ansible | url = http://brooklyn.apache.org/v/latest/blueprints/ansible/about-ansible.html | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="co">{{Citace elektronické monografie | titul = Company Overview of Ansible, Inc. | url = http://www.bloomberg.com/research/stocks/private/snapshot.asp?privcapId=233465248 | vydavatel = Bloomberg, Inc. | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="vb">{{Citace elektronické monografie | korporace = VentureBeat | titul = Source: Red Hat is buying Ansible for more than $100M | url = http://venturebeat.com/2015/10/15/source-red-hat-is-buying-ansible-for-more-than-100m | datum vydání = 2015-10-15 8:53 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="rh">{{Citace elektronické monografie | url = http://www.redhat.com/en/about/press-releases/red-hat-acquire-it-automation-and-devops-leader-ansible# | titul = Red Hat to Acquire IT Automation and DevOps Leader Ansible | vydavatel = Red Hat, Inc. | datum vydání = 2015-10-16 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="fq">{{Citace elektronické monografie | titul = Ansible FAQ | url = http://docs.ansible.com/faq.html | vydavatel = Red Hat, Inc. | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="aid">{{Citace elektronické monografie | titul = Ansible in Depth | url = http://cdn2.hubspot.net/hub/330046/file-480366556-pdf/pdf_content/Ansible_in_Depth.pdf?t=1390852822000 | Druh nosiče = [[Portable Document Format|pdf]] | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="inv">{{Citace elektronické monografie | titul = Working with Inventory | url = http://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html | datum vydání = 2014-04-26 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="tb">{{Citace elektronické monografie | titul = The Benefits of Agentless Architecture | url = http://cdn2.hubspot.net/hub/330046/file-479013288-pdf/pdf_content/The_Benefits_of_Agentless_Architecture.pdf?t=1390852839000 | Druh nosiče = pdf | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="dac">{{Citace elektronické monografie | titul = Working With Playbooks | url = http://docs.ansible.com/ansible/latest/user_guide/playbooks.html | vydavatel = Red Hat, Inc | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="igs">{{Citace elektronické monografie | titul = Getting Started | url = https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html | vydavatel = Red Hat, Inc | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
<ref name="v1.7">{{Citace elektronické monografie | příjmení = DeHaan | jméno = Michael | titul = Ansible 1.7 is released - Windows beta and more! | url = http://www.ansible.com/blog/ansible-1.7-is-released-windows-beta-and-more | vydavatel = Red Hat, Inc | datum vydání = 2014-08-06 | datum přístupu = 2018-07-01 | jazyk = en}}</ref>
</references>


=== Externí odkazy ===
=== Externí odkazy ===
* {{en}} [http://github.com/ansible/ansible Oficiální veřejný repozitář kódu] na [[GitHub]]

* [https://www.ansible.com Oficiální website]
* [https://github.com/ansible/ansible Oficiální veřejný repozitář kódu] na [[GitHub]]
{{Portály|Svobodný software}}
{{Portály|Svobodný software}}
{{DEFAULTSORT:Ansible}}
{{DEFAULTSORT:Ansible}}



Verze z 2. 7. 2018, 15:50

Ansible
Logo
VývojářAnsible komunita / Ansible Inc. / Red Hat Inc.
První vydání20. února 2012
Aktuální verze2.6 (28. června 2018[1])
Operační systémGNU/Linux, Unix-like, macOS, MS Windows
Vyvíjeno vPython, PowerShell a unixový shell
Typ softwaruKonfigurační správa, Infrastructure as Code, Orchestrační stroj
Licenceproprietární / GNU General Public License
Lokalizaceangličtina
Webwww.ansible.com
Některá data mohou pocházet z datové položky.

Ansible (výslovnost [ˈaːnsəbl Amer ˈænsəbl]) je svobodný software, který vytváří platformu pro konfigurační správu a řízení počítačů kombinující víceuzlové nasazení softwaru, ad hoc provádění úloh a správu konfigurací.[2] Ansible spravuje počítače v síti pomocí SSH nebo přes PowerShell. Má minimální nároky na nainstalovaný software, na linuxových uzlech vystačí s Pythonem verze 2.4 nebo vyšší, na uzlech s MS Windows s PowerShell verze 3.0 nebo vyšší.[3] Používá moduly využívající JSON a standardní výstup, které mohou být napsány v libovolném programovacím jazyce. Pro znovupoužitelné popisy stavů uzlů se používá YAML.[4]

Ansible vyvinul Michael DeHaan, autor provisioning serveru Cobbler pro Linux a spoluautor frameworku Func pro vzdálenou administraci.[5] Ansible je součást linuxové distribuce Fedora vytvářené firmou Red Hat Inc., v podobě balíčků EPEL (Extra Packages for Enterprise Linux) je dostupný i pro Red Hat Enterprise Linux, CentOS a Scientific Linux, i pro další operační systémy.[6]

Pro komerční podporu a financování Ansiblu byla vytvořena společnost AnsibleWorks, Inc., později přejmenovaná na Ansible, Inc.,[7][8] kterou v říjnu 2015 odkoupila firma Red Hat.[9][10]

Název „Ansible“ se odkazuje na komunikační zařízení umožňující přenos nadsvětelnou rychlostí, které vymyslela feministická spisovatelka Ursula K. Le Guinová pro svůj román Rocannonův svět z roku 1966, a které popisuje Orson Scott Card v románu Enderova hra.[11]

Architektura

Jako většina systémů pro správu konfigurací rozlišuje Ansible dva typy serverů: řídicí stroj a uzly. Veškerá orchestrace je řízena z jednoho řídicího stroje, který pro přístup na spravované uzly používá SSH. Spravované uzly jsou popsány na řídicím stroji v inventory (výsl. [ˈɪnvəntri Amer ˈɪnvəntɔːri]IPA).

Pro orchestraci uzlů používá Ansible moduly, které na uzly dostává a spouští pomocí SSH. Moduly se dočasně ukládají na uzly a komunikují s řídicím strojem pomocí protokolu JSON na standardním výstupu.[12] V okamžiku, kdy Ansible uzly neřídí, nespotřebovává žádné prostředky, protože na spravovaných uzlech neběží žádné programy nebo démoni.[13]

Jiné často používané systémy pro pro správu konfigurací – jako například Chef, Puppet a CFEngine – používají agenty. U těchto systémů musí být na každém uzlu nainstalován démon, který komunikuje s řídicím strojem. Ansible naproti tomu používá bezagentovou architekturu, která vystačí s démonem pro přihlášení na příslušný uzel. Výhodou je i nižší provoz po síti díky tomu, že uzly s řídicím strojem samostatně nekomunikují.[13]

Designové cíle

K designovým cílům Ansiblu patří:[12]

  • Minimalismus Systém správy by neměl vyžadovat instalaci žádného dodatečného softwaru.[13]
  • Konzistence
  • Bezpečnost Ansible nevyužívá na uzlech agenty. Vyžaduje pouze OpenSSH, který je výborně otestován.[13]
  • Vysoká spolehlivost. Pečlivě napsaný Ansible playbook [ˈpleɪbʊk]IPA je idempotentní, což zabraňuje neočekávaným vedlejším efektům na spravovaných systémech.[2] Špatně napsaný playbook však může nebýt idempotentní.
  • Plochá učicí křivka. Playbooky používají snadno zvládnutelný a popisný jazyk založený na YAML a šablonách Jinja.

Moduly

Moduly jsou v Ansiblu považovány za jednotky činnosti. Jednotlivé moduly jsou obvykle samostatné a mohou být napsány v běžných skriptovacích jazycích (Python, Perl, Ruby, bash, atd.). K základním vlastnostem modulů patří jejich idempotence, což znamená, že několikanásobné opakování operace (např. při zotavení z výpadku) uvede systém do stejného stavu.[12]

Inventory

Inventory je popis uzlů, ke kterým lze v Ansiblu přistupovat. Inventory je popsané konfiguračním souboremINI formátu, jehož implicitní umístění je /etc/ansible/hosts. Konfigurační soubor obsahuje pro každý spravovaný uzel buď buď jeho IP adresu nebo jméno počítače. Uzly lze navíc sdružovat do skupin.[14]

Příklad konfiguračního souboru:

192.168.6.1

[webservers]
foo.example.com
bar.example.com

Tento konfigurační soubor definuje tři uzly. První uzel je zadaný IP adresou a další dva jmény. Druhý a třetí uzel jsou navíc sdruženy do skupiny webservers.

Ansible může být také použit pro skript realizující Dynamické Inventory, který může načítat data z libovolného informačního systému.

Playbooky

Playbooky popisují v Ansiblu konfigurace, nasazení softwaru a orchestraci jednotlivých složek.[15] Playbooky mají formát YAML. Každý Playbook přiřazuje skupině uzlů sadu rolí. Jednotlivé role jsou reprezentovány voláními úloh v Ansiblu.

Dostupnost pro jednotlivé platformy

Na řídicím stroji musí být nainstalován Python 2.6 nebo 2.7. Řídicí stroj lze provozovat na většině distribucí Linuxu a Unixu, mj. na Red Hatu, Debianu, CentOSu, macOSu, BSD a Ubuntu.

Na spravovaných uzlech musí být Python verze 2.4 nebo vyšší. Uzly s Pythonem do verze 2.5 musí mít nainstalovaný balíček python-simplejson.[16] Ansible může od verze 1.7 spravovat také uzly se systémem MS Windows.[17][16]

Podpora cloud computingu

Ansible může pracovat na virtuálních strojích, ve veřejných i soukromých cloudech jako jsou Amazon Web Services, CloudStack, DigitalOcean, Eucalyptus Cloud, Google Cloud Platform, KVM Switch, Microsoft Azure Platform, OpenStack, Rackspace, SoftVrstva, VMware a XenServer.[12]

Podpora big data

Ansible může být nasazen pro zpracování rozsáhlých data, pro rozsáhlá úložiště a analytická prostředí, včetně Hadoop, Riak a Aerospike. V těchto prostředích lze Ansible použít pro správu prostředků jednotlivých uzlů, nenáročnou na spotřebu času CPU a paměti. Ansible navíc poskytuje monitorovací funkcionality, které mohou měřit dostupné prostředky systému, což může pomáhat při správě těchto uzlů.[12]

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Ansible (software) na anglické Wikipedii.

  1. CLAY, Matt. Ansible 2.6 "Heartbreaker" Release Notes [online]. GitHub, Inc, 2018-06-28 [cit. 2018-07-01]. Dostupné online. (anglicky) 
  2. a b Achieving Rolling Updates and Continuous Deployment with Zero Downtime [online]. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  3. Getting Started - Ansible [online]. Red Hat, Inc., 2014-02-06 [cit. 2018-07-01]. Dostupné online. (anglicky) 
  4. SKOWRONSKI, Jason. Ansible: CM, Deployment, and Ad-hoc Task Execution All in One [online]. DevOps Zone. DZone, 2012-04-18. Dostupné online. 
  5. An Interview with Ansible Author Michael DeHaan [online]. Colo a Cloud, 2012-04-17 [cit. 2018-07-01]. Archivovaná stránka. Dostupné online. (anglicky) 
  6. Ansible Download (DEB, RPM, TXZ, XZ) [online]. Packages Search [cit. 2018-07-01]. Dostupné online. (anglicky) 
  7. Apache Brooklyn. About Ansible [online]. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  8. Company Overview of Ansible, Inc. [online]. Bloomberg, Inc. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  9. VentureBeat. Source: Red Hat is buying Ansible for more than $100M [online]. 2015-10-15 8:53 [cit. 2018-07-01]. Dostupné online. (anglicky) 
  10. Red Hat to Acquire IT Automation and DevOps Leader Ansible [online]. Red Hat, Inc., 2015-10-16 [cit. 2018-07-01]. Dostupné online. (anglicky) 
  11. Ansible FAQ [online]. Red Hat, Inc. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  12. a b c d e Ansible in Depth [online]. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  13. a b c d The Benefits of Agentless Architecture [online]. [cit. 2018-07-01]. Dostupné online. (anglicky) 
  14. Working with Inventory [online]. 2014-04-26 [cit. 2018-07-01]. Dostupné online. (anglicky) 
  15. Working With Playbooks [online]. Red Hat, Inc [cit. 2018-07-01]. Dostupné online. (anglicky) 
  16. a b Getting Started [online]. Red Hat, Inc [cit. 2018-07-01]. Dostupné online. (anglicky) 
  17. DEHAAN, Michael. Ansible 1.7 is released - Windows beta and more! [online]. Red Hat, Inc, 2014-08-06 [cit. 2018-07-01]. Dostupné online. (anglicky) 

Externí odkazy