Hogyan lehet modernizálni az Ansible-ben a feladatok végrehajtását, hogy azok egyszerre fussanak több hoszton ahelyett, hogy egymás után futnának?
sobes.tech MI
Válasz az MI-től
Az Ansible-ben alapértelmezés szerint a feladatokat párhuzamosan hajtja végre több hoszton, de egy hoszton belül szekvenciálisan. Ha több feladatot szeretnél egy időben futtatni egy hoszton, használhatod az async modult és a poll paramétert.
Példa az aszinkron feladatindításra:
- name: Egy hosszú feladat aszinkron indítása
command: /path/to/long_task.sh
async: 3600 # maximális futási idő másodpercben
poll: 0 # ne várjon a feladat befejezésére
Ez lehetővé teszi, hogy elindítsd a feladatot, és azonnal a következőre lépj, anélkül, hogy várnál a befejezésre.
Ha több hoszton párhuzamosan futtatott feladatokról van szó, ez az Ansible alapértelmezett viselkedése, amit a forks paraméterrel lehet konfigurálni a beállításokban, növelve a párhuzamos kapcsolatok számát.
Példa a párhuzamos kapcsolatok számának beállítására:
[defaults]
forks = 20
Így a több hoszton való egyidejű feladatindításhoz növeld a forks értékét, és egy hoszton belüli párhuzamos feladatokhoz használd az async és poll opciókat.