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