Kuidas luua ja alla laadida rakenduses Ansible Galaxy rolle ning neid kasutada - 9. osa


Üksiku mänguraamatu faili 9. osas.

Esitusraamatute kirjutamine sama teenuse haldamiseks erinevates keskkondades võib olla üsna tülikas ja see toob tavaliselt kaasa koodi koondamise. Lisaks võib keerulisem kõigi seadmete haldamine raskendada.

Sisse tulevad rollid. Rakenduses Ansible kasutatakse rolle esitusraamatute jaotamiseks korduvkasutatavateks failideks, mida saab kasutada mitmel muul juhul, kui tekib vajadus sarnase ülesande täitmiseks. See välistas vajaduse mänguraamatuid uuesti ja uuesti kirjutada ning säästab palju aega ja energiat.

Rollid on lihtsalt mänguraamatute funktsioonid. Rolli juurde kuulub üsna palju seda, mis moodustaks mänguraamatu: ülesanded, failid, moodulid, muutujad ja mallid. Pange tähele ka seda, et iga roll piirdub konkreetse ülesande või soovitud väljundiga.

Anonüümse rolli loomine

Rakenduses Ansible rolli loomiseks kasutage lihtsalt süntaksit.

# ansible-galaxy init role_name 

Teie praeguses töökataloogis luuakse mitu kataloogi ja faili. Sel juhul olen otsustanud luua rolli kataloogis/etc/ansible/rollid.

Looge roll nimega apache.

# ansible-galaxy init apache

Puu abil saate visata pilgu rolli kataloogistruktuurile.

# tree apache

Nagu näete, on loodud mitu kataloogi, kuid kõiki neid ei kasutata mänguraamatus.

Nüüd, kui soovite oma äsja loodud rolli mängiraamatus kasutada, määrake ülesanne failis main.yml, mis asub teie uue rolli ülesannete kataloogis.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

    - name: Install Apache2 on Ubuntu webserver
      apt:
         name: apache2
         state: installed

Seejärel looge mänguraamatu fail ja helistage rollile nagu näidatud.

--- 
- hosts: webservers
  roles:
   - apache

Rolli installimine võimalikust galaktikast

Rollid mängivad otsustavat rolli Ansible kogukonna teiste kasutajatega, kasutades Ansible Galaxy platvormi. Rakenduses Ansible Galaxy saate tuhandeid rolle, mis täidavad erinevaid ülesandeid, näiteks veebiserverite ja andmebaaside installimist, jälgimistööriistu jne.

Ansible Galaxy on Ansible rollide andmebaas või hoidla, mida saate kasutada oma raamatutes ja aidata oma ülesandeid sujuvamaks muuta.

Ansible Galaxy rollist otsimiseks käivitage lihtsalt käsk.

# ansible-galaxy search <role>

Näiteks rolli otsimiseks nimega mysql run.

# ansible-galaxy search mysql

Nagu näete, on sadu rolle, mis vastavad otsingusõnale mysql. Kuid mitte kõik rollid ei täida teie kavatsusi, seetõttu on soovitatav juhised hoolikalt läbi lugeda.

Rolli kohta lisateabe saamiseks käivitage lihtsalt käsk Ansible:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

Meie näites installime rolli 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Roll laaditakse alla ja eraldatakse vaikerollide kataloogi, mis asub aadressil/etc/ansible/role.

Rolli võib seejärel kutsuda mänguraamatusse, näiteks:

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql

Nüüd saate rakendust Ansible ohutult käivitada, nagu näidatud.

# ansible-playbook install_mysql.yml

Lisaks võite veebibrauseri kaudu külastada Ansible Galaxy'd ja otsida käsitsi rolle erinevate ülesannete täitmiseks, nagu juhtpaneelil on kirjeldatud.

Näiteks jälgimisrolli, näiteks elasticsearchi otsimiseks klõpsake valikul ‘Monitoring’ ja otsige rolli nagu näidatud.

Ansible Galaxy muudab kasutajate jaoks parimate rollide installimise lihtsamaks, loetledes kõige populaarsemad ja enim allalaaditud rollid. Konkreetse rolli kohta lisateabe saamiseks klõpsake lihtsalt seda.

Mänguraamatus saate määrata ka näiteks mitu rolli.

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql
    • Aaronpederson.mariadb

Installitud rollide loetlemiseks käivitage lihtsalt.

# ansible-galaxy list

Rollide abil on Ansiblei raamatute taaskasutamine ja jagamine üsna lihtne. Nii säästavad nad kasutajat palju aega, proovides kirjutada palju üleliigseid koode, ja kulutavad liiga palju aega, mida oleks kasutatud muude süsteemihaldustoimingute jaoks. Ja see on selle juhendi jaoks kõik.