Ի՞նչ է Ansible-ում տեգերի դերը և ինչու են դրանք կարևոր:
sobes.tech AI
Պատասխան AI-ից
Ansible- ի մեջ տեգերը օգտագործվում են առանձին առաջադրանքների կամ առաջադրանքների բլոկների նշման համար։ Դա թույլ է տալիս ընտրովի կատարել միայն որոշակի տեգով նշված առաջադրանքները՝ մյուսներին բաց թողնելով։
Տեգերի կարևորությունը պայմանավորված է մի քանի պատճառներով՝
-
Գրանուլար կատարման: Դրանք թույլ են տալիս գործարկել միայն անհրաժեշտ մասերը՝ արագացնելով փորձարկման և սխալների շտկման գործընթացը։ Օրինակ, կարող եք նշել փաթեթների տեղադրման առաջադրանքները
installտեգով և կատարել միայն դրանք։ansible-playbook playbook.yml --tags "install" -
Պատասխանատվության բաժանում: Օգնում են կառուցել բարդ պլեյբուքեր՝ ըստ գործառնական բլոկների կամ համակարգի բաղադրիչների։
-
Առաջադրանքների բացթողում: Կարող եք բացառել որոշ տեգով նշված առաջադրանքների կատարմանը՝ օգտագործելով
--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 տեգով նշվածներից։ |
Ընդհանուր առմամբ, տեգերը հզոր գործիք են պլեյբուքի բարդությունը կառավարելու և դրանց կատարման ժամանակ ճկունություն ապահովելու համար։