variablen hinzugefügt
							parent
							
								
									3b1c5180d4
								
							
						
					
					
						commit
						e877526ecd
					
				| 
						 | 
					@ -0,0 +1,64 @@
 | 
				
			||||||
 | 
					# Ansible Variablen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Variablen in Ansible dienen dazu, Werte zu speichern, die in [Playbooks](playbooks) oder [Roles](rollen) wiederverwendet werden können. Hier sind einige Beispiele und wie sie in einem Playbook verwendet werden:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. **Host-Variablen**: Diese werden verwendet, um hostspezifische Informationen zu speichern, z.B. IP-Adressen oder Verbindungsinformationen. Zum Beispiel:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					   # In der Inventory-Datei
 | 
				
			||||||
 | 
					   webserver:
 | 
				
			||||||
 | 
					     ansible_host: 192.168.1.100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   # Im Playbook
 | 
				
			||||||
 | 
					   - name: Konfiguriere den Webserver
 | 
				
			||||||
 | 
					     hosts: webserver
 | 
				
			||||||
 | 
					     tasks:
 | 
				
			||||||
 | 
					       - name: Stelle sicher, dass der Webserver läuft
 | 
				
			||||||
 | 
					         service:
 | 
				
			||||||
 | 
					           name: apache2
 | 
				
			||||||
 | 
					           state: started
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. **Gruppen-Variablen**: Diese werden für Gruppen von Hosts definiert und gelten für alle Hosts in dieser Gruppe. Zum Beispiel:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					   # In der Inventory-Datei
 | 
				
			||||||
 | 
					   [webservers]
 | 
				
			||||||
 | 
					   webserver1 ansible_host=192.168.1.100
 | 
				
			||||||
 | 
					   webserver2 ansible_host=192.168.1.101
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   # In einer Gruppen-Variablen-Datei (group_vars/webservers.yml)
 | 
				
			||||||
 | 
					   web_server_port: 80
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   # Im Playbook
 | 
				
			||||||
 | 
					   - name: Konfiguriere die Webserver
 | 
				
			||||||
 | 
					     hosts: webservers
 | 
				
			||||||
 | 
					     tasks:
 | 
				
			||||||
 | 
					       - name: Setze den HTTP-Port
 | 
				
			||||||
 | 
					         vars:
 | 
				
			||||||
 | 
					           http_port: "{{ web_server_port }}"
 | 
				
			||||||
 | 
					         template:
 | 
				
			||||||
 | 
					           src: templates/httpd.conf.j2
 | 
				
			||||||
 | 
					           dest: /etc/httpd/conf/httpd.conf
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. **Playbook-Variablen**: Diese werden im Playbook selbst definiert und gelten nur für dieses Playbook. Zum Beispiel:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					   - name: Installiere und konfiguriere die Datenbank
 | 
				
			||||||
 | 
					     hosts: database
 | 
				
			||||||
 | 
					     vars:
 | 
				
			||||||
 | 
					       db_name: mydb
 | 
				
			||||||
 | 
					       db_user: myuser
 | 
				
			||||||
 | 
					     tasks:
 | 
				
			||||||
 | 
					       - name: Installiere die Datenbank
 | 
				
			||||||
 | 
					         yum:
 | 
				
			||||||
 | 
					           name: mysql
 | 
				
			||||||
 | 
					           state: present
 | 
				
			||||||
 | 
					       - name: Erstelle die Datenbank
 | 
				
			||||||
 | 
					         mysql_db:
 | 
				
			||||||
 | 
					           name: "{{ db_name }}"
 | 
				
			||||||
 | 
					           state: present
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Variablen in Ansible können in verschiedenen Formen definiert werden, z.B. als einfache Werte oder als Listen und Dictionaries. Sie können auch in [Jinja2-Vorlagen](templates) verwendet werden, um dynamische Konfigurationen zu erstellen.
 | 
				
			||||||
		Loading…
	
		Reference in New Issue