Middle
Kāda ir mainīgo hierarhija dažādās DevOps lomās?
sobes.tech AI
Atbilde no AI
DevOps mainīgo hierarhija visbiežāk attiecas uz konfigurācijas pārvaldības sistēmām, piemēram, Ansible, Puppet vai Chef, kur dažādi definēšanas līmeņi ir ar dažādu prioritāti. Ansible kontekstā tas izskatās šādi:
- Papildu mainīgie (komandrindā ar
-e) - Lookup mainīgie (piemēram, ar
{{ lookup(...) }}) - Rezervētie mainīgie (iepriekš definēti Ansible, piemēram,
hostvars,group_names,inventory_hostname) - Inventāra mainīgie
- Grupas mainīgie (
group_vars/) - Hosta mainīgie (
host_vars/)
- Grupas mainīgie (
- Lomas mainīgie (
roles/<role_name>/vars/) - Spēles mainīgie (
vars:spēlē) - Lomas noklusējumi (
roles/<role_name>/defaults) - Inventāra mainīgie (no inventāra faila)
- Grupas mainīgie inventārā
- Hosta mainīgie inventārā
Piemērs: Lomas mainīgo definēšana Ansible:
---
# roles/my_role/vars/main.yml
my_variable: "vērtība lomā vars"
Noklusējuma vērtības definēšana lomai:
---
# roles/my_role/defaults/main.yml
my_variable: "noklusējuma vērtība"
another_variable: "konkrēta noklusējuma vērtība lomai"
Piemērs izmantošanai spēlē:
---
- nosaukums: Pielietot my_role
hosts: mani_serveri
vars:
my_variable: "vērtība spēlē"
lomās:
- my_role
Hosta mainīgie inventārā:
[mani_serveri]
server1 my_variable="vērtība no inventāra hosta"
server2
Augstāka līmeņa mainīgie (piemēram, papildu mainīgie) pārdefinē zemākus līmeņus (piemēram, lomā noklusējumi).
Citos rīkos hierarhija var atšķirties, bet kopējais princips ir prioritāte, kad mainīgie ir definēti tuvāk lietošanas vietai vai ar explicit norādi (kā komandrindā).