Sobes.tech
Junior

Роли тамгаҳо дар 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.

Ҳамагӣ, тегҳо воситаи қавӣ барои идоракунии мураккабии плейбукҳо ва таъмин кардани флексибилитет дар иҷрои онҳо мебошанд.