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