Роли тамгаҳо дар Ansible чист ва чаро онҳо муҳиманд?
sobes.tech AI
Ҷавоб аз AI
Тегҳои дар Ansible барои нишондод кардани вазифаҳои алоҳида ё блокҳои вазифа дар дохили плейбук истифода мешаванд. Ин имкон медиҳад, ки танҳо вазифаҳои бо тег муайяншуда иҷро шаванд, бо гузаштан аз дигарон.
Маҳзияти тегҳо аз чанд сабаб вобаста аст:
-
Иҷрои граничӣ: Онҳо иҷозат медиҳанд, ки танҳо қисмҳои зарурии плейбукро иҷро кунанд, ки ин равандро суръат мебахшад ва барои санҷиш ва ислоҳи хатогиҳо кӯмак мекунад. Масалан, вазифаҳоро барои насб кардани бастаҳоро бо тег
installнишон додан ва танҳо онҳоро иҷро кардан мумкин аст.ansible-playbook playbook.yml --tags "install" -
Тартиб додани масъулият: Онҳо барои сохтори плейбукҳои мураккаб дар асоси блокҳои функсионалӣ ё компонентҳои системавӣ кӯмак мекунанд.
-
Гузаштан аз вазифаҳо: Мумкин аст, ки иҷрои вазифаҳоро бо тег муайянкардаро (масалан,
skip-this) бо истифода аз имконияти--skip-tagsхориҷ кард.ansible-playbook playbook.yml --skip-tags "skip-this" -
Теги стандартӣ: Ansible чанд теги стандартӣ пешниҳод мекунад, масалан,
always(вазифаҳое, ки бо ин тег ҳамеша иҷро мешаванд, новобаста аз дигар тегҳо) ваnever(вазифаҳое, ки бо ин тег ҳеҷ гоҳ иҷро намешаванд, ба истиснои ҳолате, ки ба таври равшан нишон дода шавад).
Масалан, истифодаи тегҳо дар плейбук:
# playbook.yml
- номи: Насб кардани сервери веб
hosts: webservers
tasks:
- номи: Насб кардани бастаи Nginx
ansible.builtin.apt: # Мо FQCN барои модулҳоро истифода мебарем
name: nginx
state: present
update_cache: yes
tags:
- install
- web
- номи: Танзимоти Nginx
ansible.builtin.template: # Мо FQCN барои модулҳоро истифода мебарем
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
tags:
- config
- web
- номи: Азнавбозии хидмат Nginx
ansible.builtin.systemd: # Мо FQCN барои модулҳоро истифода мебарем
name: nginx
state: restarted
tags:
- service
- web
Таблица бо мисолҳои истифода:
| Амри Ansible | Тавсиф |
|---|---|
ansible-playbook playbook.yml |
Иҷрои тамоми плейбук. |
ansible-playbook playbook.yml --tags "install" |
Иҷрои танҳо вазифаҳои бо тег install. |
ansible-playbook playbook.yml --tags "install,config" |
Иҷрои вазифаҳо бо тегҳои install ё config. |
ansible-playbook playbook.yml --skip-tags "install" |
Иҷрои ҳамаи вазифаҳо, ба истиснои вазифаҳои бо тег install. |
Ҳамагӣ, тегҳо воситаи қавӣ барои идоракунии мураккабии плейбукҳо ва таъмин кардани флексибилитет дар иҷрои онҳо мебошанд.