Ի՞նչ է փոփոխականների հիերարխիան տարբեր դերերում DevOps-ում։
sobes.tech AI
Պատասխան AI-ից
DevOps-ի փոփոխականների հիերարխիան սովորաբար վերաբերում է կոնֆիգուրացիայի կառավարման համակարգերին, ինչպիսիք են Ansible, Puppet կամ Chef, որտեղ տարբեր մակարդակների փոփոխականների սահմանումը ունեն տարբեր առաջնահերթություններ: Ansible-ի համատեքստում դա տեսնում է այնպես՝
- Extra Vars (
-eհրամանի տողից) - Lookup փոփոխականներ (օրինակ,
{{ lookup(...) }}օգտագործելով) - Պատրաստված փոփոխականներ (նախորոշված Ansible փոփոխականներ, ինչպիսիք են
hostvars,group_names,inventory_hostname) - Ինվենտարի փոփոխականներ
- Խմբային փոփոխականներ (
group_vars/) - Հոստային փոփոխականներ (
host_vars/)
- Խմբային փոփոխականներ (
- Ռոլի փոփոխականներ (
roles/<role_name>/vars/) - Խաղի փոփոխականներ (
vars:խաղային գրքում) - Ռոլի նախնական արժեքներ (
roles/<role_name>/defaults) - Ինվենտարի փոփոխականներ (ինվենտարի ֆայլից)
- Խմբային փոփոխականներ ինվենտարում
- Հոստային փոփոխականներ ինվենտարում
Օրինակ՝ փոփոխականների սահմանում Ansible-ում ռոլի համար՝
---
# roles/my_role/vars/main.yml
my_variable: "ռոլի vars-ում սահմանված արժեք"
Նախնական արժեքների օրինակ՝
---
# roles/my_role/defaults/main.yml
my_variable: "նախնական արժեք"
another_variable: "ռոլի համար հատուկ նախնական արժեք"
Օգտագործման օրինակ՝
---
- անուն: my_role կիրառել
hosts: my_servers
vars:
my_variable: "խաղային գրքում սահմանված արժեք"
roles:
- my_role
Հոստային փոփոխականի օրինակ՝ ինվենտարում՝
[my_servers]
server1 my_variable="ինվենտարի հոստից արժեք"
server2
Այս հիերարխիայում բարձր մակարդակով սահմանված փոփոխականները (օրինակ, Extra Vars) գերակայություն ունեն ցածր մակարդակով սահմանվածների նկատմամբ (օրինակ, Ռոլի նախնական արժեքներ): Այլ գործիքներում հիերարխիան կարող է տարբեր լինել, բայց ընդհանուր սկզբունքը՝ փոփոխականների առաջնահերթությունը, որոնք սահմանված են օգտագործման վայրից ավելի մոտ կամ բացահայտ նշված, մնում է նույնը։