variablen hinzugefügt

kraeml 2023-09-27 14:13:00 +00:00
parent 3b1c5180d4
commit e877526ecd
1 changed files with 64 additions and 0 deletions

64
variablen.md Normal file

@ -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.