Začni využívat Ansible pro automatizaci v IT | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Začni využívat Ansible pro automatizaci v IT

Začni využívat Ansible pro automatizaci v IT

Vše, co potřebuješ vědět, než začneš využívat tento nástroj

Pokud hledáš nástroj, který ti umožní automatizovat svou IT infrastrukturu a ušetřit čas, pak jsi nejspíš narazil*a na Ansible. Proto jsme se pro tebe rozhodli sepsat článek, ve kterém najdeš vše potřebné, abys ses mohl*a správně rozhodnout, zda je Ansible ten správný nástroj pro automatizaci tvého projektu.

Co je to Ansible?

Ansible je jednoduchý open source nástroj pro automatizaci různých IT úloh. Můžeš ho využít pro nasazení aplikací, orchestraci podnikových služeb, poskytování cloudových řešení, správu konfigurací a také má mnoho dalších možností využití.

Automatizační úlohy se zapisují do playbooku, který je založený na jednoduchém programovací jazyku YAML. Ten je snadno čitelný a lehce zapisovatelný, a tak umožňuje i pracovníkům podpory IT infrastruktury snadno porozumět a případně upravit obsah playbooku.

Ansible je navržen pro víceúrovňová nasazení. To znamená, že spravuje nejen jeden systém, ale modeluje celou IT infrastrukturu jako vzájemně propojené systémy. Je bezagentní, což znamená, že se připojuje k uzlům prostřednictvím SSH (ve výchozím nastavení), ale nabízí i další možnosti připojení.

Po připojení k uzlům Ansible nasadí malé programy nazývané „moduly Ansible“, které se spustí na uzlech a po dokončení úlohy se odstraní. Inventář spravuje Ansible pomocí jednoduchých textových souborů hosts, kde můžeš seskupovat hostitele a přiřazovat k nim konkrétní akce v playbooku.

Proč začít s Ansible?

Ansible nabízí několik výhod oproti tradičním metodám správy IT infrastruktury, mezi které patří:

  • Jednoduchost: Ansible se dá snadno naučit a používat ho zvládnou i začátečníci, a tak nemusíš být expertem na programování.
  • Flexibilita: V Ansible dokážeš spravovat širokou škálu IT infrastruktury, včetně serverů, aplikací a síťových zařízení.
  • Škálovatelnost: Můžeš spravovat tisíce serverů najednou, takže je ideální pro rozsáhlá nasazení.
  • Opakované použití: V různých prostředích se dají opakovaně používat playbooky, což šetří čas a úsilí.
  • Zabezpečení: Ansible používá ke komunikaci se servery protokol SSH, který je bezpečný.

Jak Ansible funguje?

Ansible funguje tak, že se připojuje k uzlům a nahrává do nich malé programy zvané moduly Ansible. Tyto moduly jsou ve výchozím nastavení spuštěny přes SSH a po dokončení úlohy se odstraní. Knihovna modulů může být umístěna na libovolném počítači a nejsou potřeba žádné servery, domény ani databáze.

Řídicí uzel řídí celé provádění playbooku a spouští instalace. Inventář poskytuje seznam hostitelů, na kterých je třeba spustit moduly Ansible. Řídicí uzel naváže SSH spojení a spustí moduly na hostitelských počítačích, kde nainstaluje požadovaný software či produkt.

Výhodou Ansible je, že po instalaci modulů je automaticky odstraní, což zajišťuje efektivní připojení k hostitelskému systému, provedení instrukcí a následné odstranění kódu ze zařízení.

Základní schéma Ansible architektury

Ansible se skládá z několika klíčových komponent:

  • Inventář:
    Inventář Ansible je seznam hostitelů s jejich IP adresami, servery a databázemi, které je třeba spravovat prostřednictvím SSH (pro UNIX, Linux nebo síťová zařízení) a WinRM (pro systémy Windows). Soubor inventáře je obvykle umístěn v adresáři /etc/ansible/hosts, ale můžeš zadat jiné umístění pomocí parametru -i.

Příklad inventárního souboru:

[web]  
web1.example.com  
web2.example.com

[db]  
db1.example.com  
db2.example.com

Tento inventář definuje dvě skupiny hostitelů: web a db, každá s dvěma hostiteli.

Rozhraní API

API (Application Programming Interface) se používají jako způsob komunikace s veřejnými a soukromými cloudovými službami.

Moduly

Moduly se spouštějí přímo na vzdálených zařízeních prostřednictvím playbooks a mohou řídit různé prostředky, jako jsou služby, balíčky, soubory nebo provádět systémové příkazy. Působí na systémové soubory, instalují balíčky a provádějí požadavky API do sítě služeb. 

Existuje více než 450 modulů Ansible, které poskytují moduly automatizace různé úlohy v prostředí. Například moduly pro cloud, jako je Cloud Formation, vytvářejí nebo odstraňují zásobník pro vytvoření cloudu AWS.

Příklady modulů Ansible:

  • apt: V systémech založených na Debianu instaluje nebo odebírá balíčky pomocí správce balíčků APT.
  • yum: V systémech založených na platformě Red Hat instaluje nebo odebírá balíčky pomocí správce balíčků YUM.
  • copy: Zkopíruje soubor z místního počítače do vzdáleného počítače.
  •  file: Spravuje soubory a adresáře na vzdáleném počítači.
  •  service: Spravuje služby na vzdáleném počítači.

Zásuvné moduly

Zásuvné moduly jsou části kódu, které rozšiřují základní funkce Ansible a umožňují provádět úlohy Ansible jako krok sestavení úlohy. Ansible se dodává s několika praktickými zásuvnými moduly a lze je také napsat samostatně. Například zásuvné moduly Action fungují jako front-endy modulů a mohou provádět úlohy na řadiči před voláním samotných modulů.

Síťování

Ansible používá k automatizaci síťových úloh jednoduchý, výkonný a bezagentový automatizační rámec. K tomu využívá samostatný datový model, který podporuje různý síťový hardware.

Hostitelé

Hostitelé označují uzly nebo systémy (Linux, Windows atd.), které jsou automatizovány pomocí Ansible.

Playbooky

Playbooky jsou soubory ve formátu YAML, které popisují úlohy, které má Ansible provést. Mohou deklarovat konfigurace, orchestraci kroků jakéhokoli manuálního procesu a spouštět různé úlohy.

Příklad playbooku:

yaml

Zkopírovat kód

- name: Install Apache  
  hosts: web  
  become: true

  tasks:  
    - name: Install Apache  
      apt:  
        name: apache2  
        state: present

    - name: Start Apache  
      service:  
        name: apache2  
        state: started

Tento playbook nainstaluje Apache na všechny hostitele ve skupině web a spustí službu Apache.

CMDB

Jedná se o zkratku pro Configuration Management Database (CMDB). V ní jsou uložena data ke kolekci prostředků IT a jedná se o úložiště nebo datový sklad, kde budeme tento druh dat uchovávat, a definuje také vztahy mezi těmito prostředky.

Cloud

Cloud představuje síť vzdálených serverů umístěných na internetu, které slouží k ukládání, správě a zpracování dat namísto jejich ukládání na místním serveru.

My máme jasno, ale co ty?

Ansible je výkonný a flexibilní nástroj pro automatizaci IT infrastruktury, který je snadno ovladatelný i pro začátečníky. Díky své bezagentové architektuře, široké škále modulů a jednoduchému zápisu playbooků umožňuje efektivní správu a škálování IT prostředí. Pokud hledáš způsob, jak zjednodušit a automatizovat své IT procesy, Ansible by mohl být tím pravým řešením pro tvůj projekt.

Autor*ka: Martin Šlat

Více článků
Rozhovor s ředitelem data managementu v ČSOB.
Původ nejpopulárnějších slov v odborném slovníku