Sobes.tech
Intern

Mis on Ansible?

sobes.tech AI

Vastus AI-lt

Ansible on avatud lähtekoodiga, lihtne kasutada tööriist IT-infrastruktuuri automatiseerimiseks. Seda kasutatakse serverite seadistamiseks, rakenduste juurutamiseks ja ülesannete orkestreerimiseks.

Peamised omadused:

  • Agentless: Ei nõua agentide paigaldamist hallatavatel sõlmedel. Kasutab SSH-d (või WinRM Windowsi jaoks).
  • Idempotent: Tegevusi saab korrata mitu korda ilma lõppseisundi muutmiseta, kui see on juba saavutatud.
  • Lihtne: Kasutab YAML-i playbookide kirjutamiseks, mis muudab selle loetavaks ja arusaadavaks.
  • Moodulid: Varustatud paljude moodulitega erinevate ülesannete täitmiseks (pakettide installimine, failide kopeerimine, teenuste haldamine jms).
  • Laiendatavus: Lihtne luua oma mooduleid ja pluginaid.

Peamised komponendid:

  • Control Node: Server, kust käivitatakse Ansible käsud ja playbookid. Tavaliselt Linux.
  • Managed Nodes: Serverid või seadmed, mida te haldate Ansible abil.
  • Inventory: Fail, mis kirjeldab teie hallatavaid sõlmi (IP-aadressid, hostinimed, grupid).
    [webservers]
    web1.example.com
    web2.example.com
    
    [databases]
    db1.example.com
    
  • Moodulid: Moodulid on tegelikud koodüksused, mis täidavad spetsiifilisi ülesandeid hallatavatel sõlmedel.
    - nimi: Paigaldada Nginx
      ansible.builtin.apt:
        name: nginx
        state: present
    
  • Ülesanded: Ülesanne on mooduli kutsumine määratud parameetritega. Ülesanded täidetakse järjestikku.
  • Playbookid: YAML-failid, mis sisaldavad ülesannete komplekti eesmärgi saavutamiseks. Need kirjeldavad süsteemi soovitud olekut.
    ---
    - nimi: Toote web serverite konfiguratsioon
      hosts: webservers
      become: yes  # Täitke ülesanded sudo õigustega
      tasks:
        - nimi: Installige uusim Apache versioon
          ansible.builtin.yum:
            name: httpd
            state: latest
        - nimi: Veenduge, et Apache töötab ja on käivitamisel lubatud
          ansible.builtin.service:
            name: httpd
            state: started
            enabled: yes
    
  • Rollid: Rollid koguvad ülesandeid, muutujaid ja malle taaskasutatavatesse struktuuridesse.

Rakendused:

  • Konfiguratsioonihaldus.
  • Rakenduste juurutamine.
  • Infrastruktuuri provisioning (näiteks virtuaalmasinate seadistamine pärast nende loomist).
  • Ülesannete orkestreerimine (järjestikune tegevuste täitmine erinevatel sõlmedel).
  • Rutiinsete operatsioonide automatiseerimine.