Wéi erstellen an eroflueden Rollen op Ansible Galaxy a benotzt se - Deel 9


Am Deel 9 vun Single Playbook Fichier.

Wéi och ëmmer, Spillbicher schreiwen fir dee selwechte Service a verschiddenen Ëmfeld ze managen kann zimmlech ëmständlech sinn an dëst féiert normalerweis zu Code Redundanz. Zousätzlech kann méi Komplexitéit d'Schwieregkeet bäidroen fir all Geräter ze managen.

An kënnt Rollen. An Ansible gi Rollen benotzt fir Playbooks a wiederverwendbare Dateien opzedeelen, déi iwwer e puer aner Instanzen benotzt kënne ginn, wou de Besoin entsteet eng ähnlech Aufgab auszeféieren. Dëst eliminéiert de Besoin fir Spillbicher ëmmer erëm ze schreiwen a spuert vill Zäit an Energie.

Rollen sinn einfach Funktionalitéite vu Spillbicher. Eng Roll verschéckt mat zimlech wat e Spillbuch ausmécht: Aufgaben, Dateien, Moduler, Variablen a Templates. Notéiert och datt all Roll limitéiert ass op eng bestëmmten Aufgab oder de gewënschten Ausgang.

Schafen eng Ansible Roll

Fir eng Roll am Ansible ze kreéieren, benotzt einfach d'Syntax.

# ansible-galaxy init role_name 

Multiple Verzeichnisser a Dateie ginn an Ärem aktuellen Aarbechtsverzeechnes erstallt. An dësem Fall hunn ech decidéiert eng Roll am /etc/ansible/rolles Verzeechnes ze kreéieren.

Loosst eis eng Roll erstellen genannt Apache.

# ansible-galaxy init apache

Benotzt de Bambefehl fir e Bléck op d'Verzeichnisstruktur vun der Roll ze hunn.

# tree apache

Wéi Dir gesitt, sinn e puer Verzeechnes erstallt ginn, awer net all wäerten am Spillbuch benotzt ginn.

Elo, fir Är nei erstallt Roll an engem Spillbuch ze benotzen, definéiert eng Aufgab an der main.yml Datei am Aufgabenverzeichnis vun Ärer neier Roll.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

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

Duerno erstellt eng Playbook Datei a rufft d'Roll wéi gewisen.

--- 
- hosts: webservers
  roles:
   - apache

Installéiert eng Roll vun Ansible Galaxy

Rollen spillen eng entscheedend Roll beim Deele vum Code mat anere Benotzer an der Ansible Gemeinschaft mat der Ansible Galaxy Plattform. An Ansible Galaxy kritt Dir Dausende vu Rollen déi verschidden Aufgaben ausféieren wéi d'Installatioun vu Webserver an Datenbanken, Iwwerwaachungsinstrumenter, etc.

Ansible Galaxy ass eng Datebank oder e Repository vun Ansible Rollen déi Dir an Äre Playbooks benotze kënnt an hëlleft Är Aufgaben ze streamlinéieren.

Fir eng Roll an Ansible Galaxy ze sichen, lafen einfach de Kommando.

# ansible-galaxy search <role>

Zum Beispill fir no enger Roll mam Numm mysql run ze sichen.

# ansible-galaxy search mysql

Wéi Dir gesitt, ginn et Honnerte vu Rollen déi mam Sichschlësselwuert mysql passen. Wéi och ëmmer, net all Rollen wäerte maachen wat Dir wëllt, also ass et recommandéiert datt Dir d'Instruktioune virsiichteg liest.

Fir méi Informatioun iwwer eng Roll ze sammelen, fuert einfach den Ansible Kommando:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql

An eisem Beispill wäerte mir d'Roll installéieren 5KYDEV0P5.skydevops-mysql.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql

D'Roll gëtt erofgelueden an extrahéiert an de Standard Rollen Verzeechnes, deen um /etc/ansible/rolles läit.

D'Roll kann duerno an engem Spillbuch genannt ginn, zum Beispill:

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

 roles:
    • 5KYDEV0P5.skydevops-mysql

Elo kënnt Dir sécher d'Ansible Spillbuch lafen wéi gewisen.

# ansible-playbook install_mysql.yml

Zousätzlech kënnt Dir Ansible Galaxy iwwer Äre Webbrowser besichen an manuell no Rollen sichen fir verschidden Aufgaben auszeféieren wéi vum Dashboard beschriwwen.

Zum Beispill, fir no enger Iwwerwaachungsroll wéi Elasticsearch ze sichen, klickt op d'Optioun 'Monitoring' a sicht no der Roll wéi gewisen.

Ansible Galaxy mécht et méi einfach fir d'Benotzer déi bescht Rollen z'installéieren andeems se déi populärsten an déi meescht erofgeluede Rollen oplëschten. Fir méi Informatiounen iwwer eng spezifesch Roll ze kréien, klickt einfach drop.

An engem Spillbuch kënnt Dir och méi wéi eng Roll uginn, zum Beispill.

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

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

Fir d'Rollen installéiert ze lëschten, einfach lafen.

# ansible-galaxy list

Rollen maachen et zimmlech einfach fir Ansible Playbooks ze benotzen an ze deelen. Op dës Manéier spuere se e Benotzer vill Zäit fir ze probéieren vill iwwerflësseg Code ze schreiwen an ze vill Zäit ze verbréngen, déi an anere Systemverwaltungsaufgaben benotzt gi wier. An dat ass et fir dëse Guide.