eu folosesc Ansible si iubesc. Ceea ce m-a atras cu adevărat la început a fost fapte_ansible. Un simplu manual ar returna o cantitate usturătoare de informații despre un anumit sistem. La început am salvat rezultatul și l-am creat pentru valoare cheie
perechea pe care mi-o doream. Probabil că există o modalitate mai bună de a face asta.
În cel mai simplu exemplu de configurare, păstrați un „inventar” de gazde pe care doriți să rulați Ansible. Este ceva de genul:
[gazdele_mei]
host1.mydomain.com
host2.mydomain.com
...
Apoi puteți rula un „playbook” Ansible gazdele_mei
și va atinge fiecare gazdă pe care ați configurat-o în acel bloc. Un manual este doar o configurație YAML care conține comenzi, variabile și formatare pe care Ansible le înțelege. Nu este un script shell. Este o „modalitate” de a-i spune lui Ansible ce să facă pe o gazdă. Mi-a luat ceva timp să-mi învălui capul în jurul ei.
Din nou, din motive de simplitate, puteți crea un playbook care rulează o comandă shell și rulați acel playbook pe fiecare gazdă. Iată un manual de joc „uptime” pe care l-am folosit des.
---
- gazde: toate
gather_facts: false
sarcini:
- nume: timp de funcționare pentru gazdă
shell: uptime
registru: iesire
- depanare: var=output.stdout_lines
# imprimați o linie formatată pentru minerit grep/sed
- depanare: msg="grepme {{ inventory_hostname }}:{{ output.stdout_lines}}"
Lucrurile devin mult mai implicate decât asta, dar este descurajant să începi. Păstrarea lucrurilor simple cu doar comenzi shell vă poate uda picioarele, dar odată ce treceți dincolo de lucrurile simple, ar trebui să căutați mai multe moduri „Ansibly” de a face lucruri care sunt mai complexe și mai greu de lucrat, dar care dau roade.