Kā izveidot un lejupielādēt lomas uz iespējamu galaktiku un tās izmantot - 9. daļa


Atsevišķas spēles grāmatas faila 9. daļā.

Tomēr, rakstot atskaņošanas grāmatas viena un tā paša pakalpojuma pārvaldīšanai dažādās vidēs, var būt diezgan apgrūtinoši, un tas parasti noved pie koda atlaišanas. Turklāt sarežģītāka visu ierīču pārvaldība var izraisīt sarežģītību.

Tajā nāk lomas. Programmā Ansible lomas tiek izmantotas, lai sadalītu atskaņošanas grāmatas atkārtoti lietojamos failos, kurus var izmantot vairākos citos gadījumos, kad rodas nepieciešamība veikt līdzīgu uzdevumu. Tas novērsa nepieciešamību atkārtoti pārrakstīt atskaņošanas grāmatas un ietaupa daudz laika un enerģijas.

Lomas ir vienkārši spēļu grāmatu funkcionalitāte. Lomā ir gandrīz viss, kas veidotu spēles grāmatu: uzdevumi, faili, moduļi, mainīgie un veidnes. Ņemiet vērā arī to, ka katra loma ir ierobežota ar noteiktu uzdevumu vai vēlamo rezultātu.

Neaizskaramās lomas izveidošana

Lai izveidotu lomu programmā Ansible, vienkārši izmantojiet sintaksi.

# ansible-galaxy init role_name 

Jūsu pašreizējā darba direktorijā tiks izveidoti vairāki direktoriji un faili. Šajā gadījumā esmu nolēmis izveidot lomu direktorijā/etc/ansible/role.

Izveidosim lomu, ko sauc par apache.

# ansible-galaxy init apache

Izmantojiet komandu koks, lai apskatītu lomas direktorijas struktūru.

# tree apache

Kā redzat, ir izveidoti vairāki direktoriji, tomēr ne visi no tiem tiks izmantoti lugu grāmatā.

Tagad, lai izmantotu jaunizveidoto lomu spēļu grāmatā, definējiet uzdevumu failā main.yml, kas atrodas jaunās lomas uzdevumu direktorijā.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

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

Pēc tam izveidojiet atskaņošanas grāmatas failu un izsauciet lomu, kā parādīts.

--- 
- hosts: webservers
  roles:
   - apache

Lomas instalēšana no Ansible Galaxy

Lomām ir izšķiroša loma koda koplietošanā ar citiem Ansible kopienas lietotājiem, izmantojot platformu Ansible Galaxy. Programmā Ansible Galaxy jūs iegūstat tūkstošiem lomu, veicot dažādus uzdevumus, piemēram, tīmekļa serveru un datu bāzu instalēšanu, uzraudzības rīkus utt.

Ansible Galaxy ir datu bāze vai Ansible lomu krātuve, kuru varat izmantot savās atskaņošanas grāmatās un palīdzēt racionalizēt uzdevumus.

Lai meklētu lomu Ansible Galaxy, vienkārši palaidiet komandu.

# ansible-galaxy search <role>

Piemēram, lai meklētu lomu ar nosaukumu mysql run.

# ansible-galaxy search mysql

Kā redzat, ir simtiem lomu, kas atbilst meklēšanas atslēgvārdam mysql. Tomēr ne visas lomas izpildīs iecerēto, tāpēc ieteicams rūpīgi izlasīt instrukcijas.

Lai iegūtu vairāk informācijas par lomu, vienkārši palaidiet komandu Ansible:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

Šajā piemērā mēs instalēsim lomu 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

Lomu lejupielādē un izvelk noklusējuma lomu direktorijā, kas atrodas/etc/ansible/role.

Pēc tam lomu var izsaukt spēles grāmatā, piemēram:

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

 roles:
    • 5KYDEV0P5.skydevops-mysql

Tagad jūs varat droši palaist Ansible playbook, kā parādīts.

# ansible-playbook install_mysql.yml

Turklāt jūs varat apmeklēt Ansible Galaxy, izmantojot tīmekļa pārlūkprogrammu, un manuāli meklēt lomas dažādu uzdevumu veikšanai, kā norādīts informācijas panelī.

Piemēram, lai meklētu tādu uzraudzības lomu kā elasticsearch, noklikšķiniet uz opcijas ‘Monitoring’ un meklējiet lomu, kā parādīts.

Programma Ansible Galaxy lietotājiem atvieglo labāko lomu instalēšanu, uzskaitot populārākās un visvairāk lejupielādētās lomas. Lai iegūtu vairāk informācijas par noteiktu lomu, vienkārši noklikšķiniet uz tās.

Spēļu grāmatā varat norādīt arī, piemēram, vairākas lomas.

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

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

Lai uzskaitītu instalētās lomas, vienkārši palaidiet.

# ansible-galaxy list

Lomu dēļ ir diezgan viegli atkārtoti izmantot un koplietot Ansible playbooks. Tādējādi viņi ietaupa lietotāju daudz laika, mēģinot uzrakstīt daudz lieku kodu, un tērē pārāk daudz laika, kas būtu izmantots citu sistēmas administrēšanas uzdevumu veikšanai. Un tas ir šis ceļvedis.