Sobes.tech
Junior

Նշեք փոփոխականների նշանակման եղանակները Ansible-ում։

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. Playbook-ի vars բաժին
  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"