Obteniu més informació sobre el llibre de joc senzill per automatitzar les tasques

Obteniu més informació sobre Ansible Playbook per automatitzar les tasques.


Anteriorment, discutíem la introducció, la guia d’instal·lació i, a continuació, parlem de Playbook i els seus blocs de construcció.

Què és Ansible Playbook?

El llibre de jocs és un llenguatge automatitzat Ansible. És un fitxer senzill amb un conjunt d’instruccions. És a llibres de jocs on definim què volem fer Ansible. Els llibres de joc contenen reproduccions que realitzen tasques i aquests mòduls funcionen. Les seves tasques s’executen de manera seqüencial.

Per exemple, pot ser tan senzill com executar una sèrie de comandaments en diferents servidors en una seqüència i reiniciar aquests servidors en ordre. O pot ser tan complex com implementar i subministrar centenars de virtuals en un núvol públic i privat, inclosos els seus equilibris de càrrega, supervisió, configuracions de xarxa.

Playbook Language

Els llibres de jocs són fitxers senzills escrits amb codi YAML.

YAML és un llenguatge de serialització de dades. És humà i llegible per màquines. No necessiteu cap habilitat especial de codificació per escriure codis YAML. Podeu pensar en un llenguatge de serialització de dades com a traductor per desglossar tota l’estructura de dades i serialitzar-les en un ordre que es pugui reconstruir de nou per utilitzar-lo posteriorment. Podeu utilitzar aquesta estructura de dades reconstruïda en el mateix entorn o fins i tot en un entorn diferent.

A continuació hi ha un exemple de fitxer YAML per instal·lar mysql:


– nom: Instal·leu MySQL
amfitrions: geekflare-mysql-service
tasques:
– nom: Instal·leu MySQL
action: $ ansible_pkg_mgr pkg = mysql-server state = instal·lat
– nom: Afegir Python MySQL DB
acció: $ ansible_pkg_mgr pkg = python-mysqldb state = instal·lat

Conceptes bàsics dels llibres de jocs

Aquesta part de l’article cobreix els conceptes bàsics de Ansible per entendre més coses sobre Ansible Playbook.

Amfitrions i usuaris

Les Ansible necessiten màquines de destinació a la infraestructura en la qual s’han de desplegar les reproduccions des del Ansbook playbook. Els amfitrions s’afegeixen a l’inventari Ansible mitjançant les seves adreces IP. Els amfitrions són una llista d’un o més grups o patrons d’amfitrió separats per dos punts. El remot_user conté el nom del compte d’usuari.


– amfitrions: ProdServers
remote_user: geekflare

Les variables

Les variables us permeten canviar el funcionament d’un llibre de jocs. Es poden utilitzar gairebé a qualsevol lloc del llibre de jocs i es poden heretar d’un inventari, establert explícitament en temps d’execució, descoberts al començament d’una cursa de jocs. Podeu definir un nom variable mitjançant lletres, números i guions baixos, però només ha de començar amb una lletra.

Per exemple, port_01 és una variable vàlida, mentre que 01_post és una variable no vàlida. A continuació, es mostra un exemple de variables en un Playbook Ansible:

vars:
http_port: 80
màxim_clients: 200

Inventaris

Per executar un llibre de reproducció, necessiteu una llista d’objectius sobre els quals voleu que es produeixi l’automatització. Això és el que fa un inventari. Les llistes d’inventaris es poden crear i emmagatzemar de diverses maneres diferents, inclosos els fitxers estàtics, és a dir, els hosts Ansible. O es pot generar dinàmicament mitjançant un script d’inventari que traurà una llista d’amfitrions per a una font externa.

També podeu especificar una variable com a part d’una llista d’inventaris. Els inventaris són en definitiva una llista de coses que voleu automatitzar a través.

[webservers]
192.168.20.1
192.168.20.2
192.168.20.4
[dbservers]
172.17.1.56
172.17.1.57

Tasques

Juga a les tasques d’execució del llibre de joc ansible. La tasca s’encarrega d’executar mòduls ansibles. Al mateix temps, només es pot executar una tasca i les tasques s’executen per ordre seqüencial. Les seves tasques estan escrites en YAML, que és un idioma pràcticament anglès.

Per exemple: instal·leu el nom de paquet, el nom de programari actualitza, etc. A continuació, es mostra un exemple de la tasca del llibre de joc Ansible per instal·lar httpd:

tasques:
– nom: Instal·leu el paquet httpd
yum: nom = estat httpd = més recent

Gestors

Les gestores són un tipus especial de tasques.

Es poden desencadenar per una tasca i s’executen un cop al final de la jugada. S’utilitza per enviar notificacions si hi ha algun canvi en el fitxer de configuració, per exemple, el servei de notificacions per iniciar l’apache una vegada instal·lat. La sintaxi “notificar” s’utilitza per trucar als gestors. A continuació, es mostra un exemple de controlador per reiniciar apache:


– amfitrions: tots
tasques:
– nom: assegureu-vos que apache està a la versió més recent
yum: nom = estat httpd = més recent
notificar:
– reinicieu apache
– name: assegureu-vos que apache s’està executant (i activeu-lo en l’arrencada)
servei: nom = estat httpd: es va iniciar activat = sí
manipuladors:
– nom: reiniciar apache
servei: nom = estat httpd = reiniciat

Creeu i executeu el vostre primer quadern de reproducció amb resposta

Permeteu-me que us expliqui com escriure un llibre de jocs. Cada llibre de jocs comença amb tres guions (-) a la part superior.

El primer que heu esmentat en un Ansible Playbook són les màquines hostes en què voleu executar el playbook.

A continuació, podeu esmentar variables recollint fets; aleshores podeu esmentar les diferents tasques que voleu realitzar. Ara, recordeu que la tasca s’executa en el mateix ordre que les heu escrit. Per exemple, voleu instal·lar primer el programari A i després el programari B, assegureu-vos que la primera tasca escrita al quadern de reproducció seria instal·lar el programari A i la següent tasca podria instal·lar el programari B.

Aleshores, teniu els controladors a la part inferior. Els gestors també són tasques, però la diferència és executar els gestors que necessiteu un tipus de disparador a la llista de tasques per executar gestors..

Permeteu-me que us mostri com podeu crear un llibre de joc ansible per instal·lar i començar nginx en un amfitrió i començar-lo.

Creeu un fitxer .yml on poseu els vostres codis YAML per a crear un llibre de joc ansible.

gedit nginx.yml

Introduïu el codi YAML següent en aquest fitxer i deseu-lo.


– amfitrions: client
sudo: sí
vars:
– servidor_port: 8080

tasques:
– nom: instal·la el servidor web de nginx
apt: pkg = nginx state = instal·lat update_cache = true
notificar:
– comenceu nginx

manipuladors:
– nom: inici nginx
servei: nom = estat nginx = iniciat

El fitxer YAML anterior s’inicia amb hosts, vull executar aquest llibre de reproducció a la màquina client (client). L’adreça IP del client ja està desada al fitxer / etc / ansible / hosts.

La següent línia permet executar les tasques amb privilegis sudo.

Aleshores he definit server_port com a variable d’aquest llibre de jocs.

Aleshores arriba la meva primera tasca d’aquest ansible llibre de joc per instal·lar un servidor web Nginx. Aquesta tasca també té paràmetre de notificació, el que significa que després d’aquesta tasca un gestor amb executat.

Finalment, he escrit un controlador per iniciar nginx a la màquina client.

Ara que teniu clar els codis YAML del llibre de lectura ansible, executem el llibre de reproducció. A continuació es mostra la sintaxi per executar un llibre de joc ansible:

ansible-playbook file_name.yml

Ara, publicaré el ansible playbook, que creo per instal·lar i començar nginx.

[correu electrònic protegit]: / home / geekflare # ansible-playbook nginx.yml

JUGAR [Client] ********************************************** ********************

TASK [Recopilació de fets] ******************************************** ************
ok: [node1]

TASK [Instal·la el servidor web de nginx] ******************************************* ****

canviat: [node1]

MANUAL DE RUNNING [start nginx] ******************************************** ******
ok: [node1]

PLAY RECAP *********************************************** *********************
node1: ok = 3 canviat = 1 no accessible = 0 fallit = 0 saltat = 0 rescatat = 0 ignorat = 0

Executeu la comanda següent per comprovar si el servidor nginx estava instal·lat i iniciat correctament pel llibre de joc ansible.

[correu electrònic protegit]: / home / geekflare # ps waux | grep nginx
arrel 3021 0,0 0,0 77676 1516? Ss 15:27 0:00 nginx: procés mestre / usr / sbin / nginx -g daemon activat; master_process activat;

Conclusió

Es tractava de Ansible playbook. Espero que aquest article us ha ajudat a aprendre com podeu crear i executar un llibre de jocs Ansible. Consulteu-ho Curs, si voleu aprendre temes avançats en Ansible, com ara Roles, Jinja2, Cerques, Filtre, mòduls personalitzats.

Tags:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map