Zuerst würde ich Ihnen wirklich empfehlen, update Ihre Ansible zur neuesten Version. Es ist sehr einfach, keinen Grund zu haben, zurück zu bleiben.
Trotzdem gibt es viele Möglichkeiten, Variablen in Ihrem Master-Playbook anzugeben. All dies sind mehr oder weniger die gleichen wie bei jedem anderen Spielbuch. Kurz erwähnt:
a. Define sie in Ihrem Spielbuch selbst
- hosts: webservers
vars:
http_port: 80
b. Separating in eine Variable-Datei, wie Sie bereits gesagt:
- hosts: all
remote_user: root
vars:
favcolor: blue
vars_files:
- /vars/external_vars.yml
Vars/external_vars.yml
somevar: somevalue
password: magic
Weitere Möglichkeiten:
c. Using facts
d. Registering output into variables
Zusätzlich, die für Ihren Fall von Bedeutung sein können:
d. Sie können pass variables into includes:
tasks:
- include: wordpress.yml wp_user=timmy
- include: wordpress.yml wp_user=alice
- include: wordpress.yml wp_user=bob
e. Vorbei variables in command line:
ansible-playbook release.yml -k "version=1.23.45 other_variable=foo"
-k
ist eine Abkürzung für --exra-vars
.
Es könnte auch andere Wege geben, die ich im Moment vermisse.
Große Zusammenfassung! Sollte mehr Upvotes haben :) –