Pentru a utiliza apartenența la grup într-o condiție pentru o sarcină, o joacă sau un bloc, ar trebui să utilizați formatul:
când: nume_gazdă_inventar în grupuri["<nume grup>"]
Mai exact la întrebarea dumneavoastră inițială:
când: inventory_hostname în grupuri["appserver"]
Pentru a ajunge la toate mașinile de sub Nord, l-ai schimba pur și simplu în:
când: inventory_hostname în grupuri[„north”]
În ceea ce privește clarificarea dvs. ulterioară (specificarea unui grup într-o anumită „locație”), deoarece numele grupurilor trebuie să fie unice în ansible, nu este nevoie să faceți distincție care servere de aplicație grup la care te referi, ca servere de aplicație poate fi întotdeauna într-o singură locație.
Dacă încercați să creați două servere de aplicație grupuri, numai primul ar fi de fapt analizat de motorul ansible; orice grup ulterior cu același nume va fi ignorat. Deci, dacă plănuiați să aveți (în viitor) un servere de aplicație grup sub Nord si un servere de aplicație grup sub sud, veți descoperi că vor fi incluși numai membrii din primul grup.
În ansible, cum realizăm acest lucru (ipoteza mea despre ceea ce dvs Mai doriți în viitor), modalitatea posibilă de a proceda este să adăugați gazdele la mai multe grupuri astfel și să vă ajustați limita sau condiționalul în mod corespunzător:
toate:
copii:
Nord:
gazde:
a.domain.com:
b.domain.com:
sud:
gazde:
y.domain.com:
z.domain.com:
servere de aplicație:
gazde:
a.domain.com:
y.domain.com:
dbservers:
gazde:
b.domain.com:
z.domain.com:
În acest exemplu, dacă ai vrut toate servere de aplicații, ați viza doar servere de aplicație. Doar dacă ai vrut servere de aplicație în Nord regiune, atunci ți-ai seta limita pentru joc nord:&appserver, sau, alternativ, folosiți condiționalul
când:
- inventory_hostname în grupuri["appserver"]
- inventory_hostname în grupuri[„north”]
În orice caz, cred că s-ar putea să aveți nevoie de o actualizare a modului în care inventarul este structurat în ansible, pentru asta aș recomanda manualul utilizatorului; Există, de asemenea, câteva resurse grozave pe diverse site-uri de instruire care pot intra în detalii mult mai mari.
Pentru mai multe informații despre direcționarea mai complexă folosind mai multe grupuri (combinații, uniuni și excluderi etc.), vă sugerez să examinați acest alt manualul utilizatorului.
Pe o notă personală, inițial am crezut că configurarea a fost plictisitoare și limitată, dar pe măsură ce m-am familiarizat cu utilizarea ei, de fapt o găsesc mai dinamică decât alternativa.