Sobes.tech
Junior

ასპინში ცვლადების მინიჭების გზებს დაასახელეთ.

sobes.tech AI

პასუხი AI-სგან

Ansible-ში ცვლადებს შეიძლება განსაზღვრავდეს რამდენიმე გზით:

  • ინვენტარის ფაილები: hosts ფაილებში ან ცალკე ფაილებში group_vars და host_vars დირექტორიებში.
  • კომანდის ხაზი: --extra-vars ან -e ფლაგის გამოყენებით.
  • Playbook-ები: 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: ვებ სერვერის კონფიგურაცია
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: მისალმების გამოტანა
      debug:
        msg: "{{ greeting }}"

ბრძანების ხაზი, სადაც ცვლადი გადაეცემა:

ansible-playbook playbook.yml -e "user=admin"