Ինչպե՞ս կարելի է արդիականացնել Ansible-ում առաջադրանքների կատարմանը՝ դրանք միաժամանակ մի քանի հոստում գործարկելու փոխարեն՝ փոխարենը հերթական կատարման:
sobes.tech AI
Պատասխան AI-ից
Ansible-ում ըստ նախնական կարգավորումների, առաջադրանքները կատարվում են միաժամանակ մի քանի հոստում, բայց մեկ հոստում՝ հերթական։ Եթե ցանկանում եք միաժամանակ մի քանի առաջադրանք սկսել մեկ հոստում, կարող եք օգտագործել async մոդուլը և poll պարամետրը:
Օրինակ՝ երկարաժամկետ առաջադրանքի ասինխրոն մեկնարկը՝
- name: Հետաձգվող առաջադրանքը սկսեք ասինխրոն
command: /path/to/long_task.sh
async: 3600 # առավելագույն կատարման ժամանակ՝ վայրկյաններով
poll: 0 # սպասել չպետք է առաջադրանքի ավարտին
Այսպիսով, դուք կարող եք սկսել առաջադրանքը և անմիջապես անցնել հաջորդին՝ սպասելու առանց։
Եթե խոսքը վերաբերում է տարբեր հոստերում միաժամանակ առաջադրանքներ կատարելու, դա Ansible-ի ստանդարտ վարքագիծն է, որը կարող եք կարգավորել forks պարամետրի միջոցով՝ ավելացնելով միաժամանակյա կապերի քանակը։
Օրինակ՝ միաժամանակյա կապերի քանակի կարգավորումը՝
[defaults]
forks = 20
Այսպիսով, միաժամանակ մի քանի հոստում առաջադրանքներ սկսելու համար, ավելացրեք forks-ը, իսկ մեկ հոստում միաժամանակ առաջադրանքներ կատարելու համար՝ օգտագործեք async և poll։