Junior
Πείτε τους τρόπους ορισμού μεταβλητών στο Ansible.
sobes.tech AI
Απάντηση από AI
Οι μεταβλητές στο Ansible μπορούν να οριστούν με διάφορους τρόπους:
- Αρχεία καταλόγου: στα αρχεία
hostsή σε ξεχωριστά αρχεία στους καταλόγουςgroup_varsκαιhost_vars. - Γραμμή εντολών: με τη χρήση της σημαίας
--extra-varsή-e. - Playbooks: στις ενότητες
vars,vars_files,include_vars. - Ρόλοι: στους καταλόγους
varsή μέσω παραμέτρων κατά την κλήση του ρόλου. - Αρχεία ρυθμίσεων του Ansible: στο
ansible.cfg, αν και δεν συνιστάται για συγκεκριμένες τιμές. - Δυναμικός Κατάλογος: μέσω σεναρίων που δημιουργούν κατάλογο και μεταβλητές κατά την εκτέλεση.
- Vaults: για την αποθήκευση εμπιστευτικών δεδομένων.
Η προτεραιότητα ανάθεσης μεταβλητών στο Ansible από χαμηλό σε υψηλό:
ansible.cfg- Αρχεία καταλόγου (
host_vars,group_vars) - Ρόλοι (από
default, μετά απόvars) - Ενότητα
varsστο playbook - Μεταβλητές που περνιούνται μέσω γραμμής εντολών
Παράδειγμα ανάθεσης μεταβλητής στον κατάλογο:
# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100
[webservers:vars]
http_port=80
Παράδειγμα ανάθεσης μεταβλητής στο playbook:
# playbook.yml
---
- name: Διαμόρφωση webserver
hosts: webservers
vars:
greeting: "Hello, World!"
tasks:
- name: Εκτύπωση χαιρετισμού
debug:
msg: "{{ greeting }}"
Παράδειγμα ανάθεσης μεταβλητής μέσω γραμμής εντολών:
ansible-playbook playbook.yml -e "user=admin"