centos:ansible:basics

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:ansible:basics [21.06.2020 16:18. ] – [Gourav Shah - Ansible Playbook Essentials] Abschnitt ergänzt djangocentos:ansible:basics [28.06.2020 12:10. ] – [Variablen] django
Zeile 340: Zeile 340:
  
 ==== Variablen ==== ==== Variablen ====
-Variablen in Playbooks sind der Verwendung von Variablen in jeder anderen Programmiersprache sehr ähnlich. Mit Hilfe von Variablen können wir einfach wiederkehrende Werteangaben einmal definieren und später reicht es dann jeweils auf diese Definition zu referenzieren. Ferner ist es auch möglich Variablen auf Grund einer Bedingung zu setzen.+Variablen in Playbooks sind der Verwendung von Variablen in jeder anderen Programmiersprache sehr ähnlich. Mit Hilfe von Variablen können wir einfach wiederkehrende Werteangaben einmal definieren und später reicht es dann jeweils auf diese Definition zu referenzieren.  
 + 
 +Bei der Definition bzw.genauer gesagt bei der Wertezuweisung zu Variablen, stehen uns altbekannte Möglichkeiten aus diversen Programmiersprachen zur Verfügung. so können wir z.B. bei der Definition der Nodes **''hosts:''** folgende Wertedefinitionen verwenden: 
 +  * **catch all** : Auswahl aller Hosts durch **''- hosts: all''** bzw. auch **''- hosts: *''** 
 +  * **Hostgruppe** : Wählt die im **inventory** definierte Hostgruppe: **''- hosts: CentOS8''**   
 +  * **Teilmenge einer Hostgruppe**: Wollen wir die Webserver 1 - 10 ansprechen, wäre entsprechen z.B. das hier die zugehörige Definition: **''- hosts: www[1:10]''** 
 +  * **Ausschlussverfahren** : Einzelne Hosts aus einer Gruppe auszunehmen (exclude) ist natürlich auch einfach machbar. **''- hosts: CentOS8:!ansible''** exkludiert den Host **ansible** aus der Hostgruppe **CentOS8** 
 +  * **kombinierte Bereiche** : Natürlich ist es auch möglich, Kombinationen der obigen Definitionen anzuwenden, wie z.B.:  **''- hosts: www[1:9]:!www6,lbha[1:2]''**, also www1 - www9, aber ohne www6 sowie die beiden Loadbalancer lbha1 und lbha2. 
 + 
 +Neben der Variablenzuweiseung ist es auch ferner möglich Variablen auf Grund einer Bedingung zu setzen.
  
 So können wir zum Beispiel die Variable **''DNS_port''** definieren und dieser dem Wert **53** zuweisen. Diese Variable und natürlich auch den zugehörigen Wert können wir dann in unserem Playbook überall dort Verwenden, wo wir später die Variable **''{{dns_port}}''** verwenden.   So können wir zum Beispiel die Variable **''DNS_port''** definieren und dieser dem Wert **53** zuweisen. Diese Variable und natürlich auch den zugehörigen Wert können wir dann in unserem Playbook überall dort Verwenden, wo wir später die Variable **''{{dns_port}}''** verwenden.