Sobes.tech
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 από χαμηλό σε υψηλό:

  1. ansible.cfg
  2. Αρχεία καταλόγου (host_vars, group_vars)
  3. Ρόλοι (από default, μετά από vars)
  4. Ενότητα vars στο playbook
  5. Μεταβλητές που περνιούνται μέσω γραμμής εντολών

Παράδειγμα ανάθεσης μεταβλητής στον κατάλογο:

# 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"