Junior
Wymień sposoby przypisywania zmiennych w Ansible.
sobes.tech AI
Odpowiedź od AI
Zmienne w Ansible można definiować na kilka sposobów:
- Pliki inwentarza: w plikach
hostslub w osobnych plikach w katalogachgroup_varsihost_vars. - Wiersz poleceń: za pomocą flagi
--extra-varslub-e. - Playbooki: w sekcjach
vars,vars_files,include_vars. - Role: w katalogach
varslub przez parametry podczas wywoływania roli. - Pliki konfiguracyjne Ansible: w
ansible.cfg, ale niezalecane dla wartości specyficznych. - Inwentarz dynamiczny: przez skrypty generujące inwentarz i zmienne na bieżąco.
- Vaults: do przechowywania poufnych danych.
Priorytet przypisywania zmiennych w Ansible od najniższego do najwyższego:
ansible.cfg- Pliki inwentarza (
host_vars,group_vars) - Role (z
default, potem zvars) - Sekcja
varsw playbooku - Zmienne przekazywane przez wiersz poleceń
Przykład przypisania zmiennej w inwentarzu:
# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100
[webservers:vars]
http_port=80
Przykład przypisania zmiennej w playbooku:
# playbook.yml
---
- name: Konfiguracja serwera WWW
hosts: webservers
vars:
greeting: "Hello, World!"
tasks:
- name: Wyświetl powitanie
debug:
msg: "{{ greeting }}"
Przykład przypisania zmiennej przez wiersz poleceń:
ansible-playbook playbook.yml -e "user=admin"