เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดจเต† เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดจเต† เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดจเต เด…เดคเดฟเดจเตเดฑเต† เดœเต‹เดฒเดฟ เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเต เดฐเดนเดธเตเดฏเดฎเดฒเตเดฒ. เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดžเดพเตป เด‡เดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ เด•เดพเดฐเดฃเด™เตเด™เตพ เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดตเต‡เด—เดค เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดฎเดฟเดจเดฟเดฎเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด‡เดตเดฟเดŸเต†เดฏเตเด‚ เดคเดพเดดเต†เดฏเตเด‚ เดžเด™เตเด™เตพ Ansible 2.9.x เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดฟเดฏเดชเตเดชเต†เดŸเตเดŸ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดคเตเดคเดพเดฏเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เด’เดฐเต virtualenv-เตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเต เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เดฟเดจเต เด…เดŸเตเดคเตเดคเดพเดฏเดฟ เด’เดฐเต โ€œansible.cfgโ€ เดซเดฏเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด• - เดชเตเดฐเต‹เดœเด•เตโ€ŒเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเดพเตป เดˆ เดฒเตŠเด•เตเด•เต‡เดทเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดต เดธเตเดตเดฏเดฎเต‡เดต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด‚.

เดชเตˆเดชเตเดชเตเดฒเตˆเดจเดฟเด‚เด—เต

เดชเตˆเดชเตเดชเตเดฒเตˆเดจเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดฒเตผ เด‡เดคเดฟเดจเด•เด‚ เด•เต‡เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเดพเด•เตเด‚, เด…เดคเดพเดฏเดคเต, เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เดชเด•เตผเดคเตเดคเดพเดคเต†, Base64 เตฝ เดชเตŠเดคเดฟเดžเตเดž เด’เดฐเต zip เด†เตผเด•เตเด•เตˆเดตเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเตˆเดคเตเดคเตบ เด‡เดจเตเดฑเตผเดชเตเดฐเต†เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† stdin-เดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเตเดณเตเดณเดตเตผ เด…เด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดตเดธเตเดคเตเดค เด’เดฐเต เดตเดธเตเดคเตเดคเดฏเดพเดฏเดฟ เดคเตเดŸเดฐเตเดจเตเดจเต: เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เตเดฑเดšเตเดšเตเด•เดพเดฃเตเดจเตเดจเต. เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดธเตเดกเต‹ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดšเดฟเดฒ เดœเดจเดชเตเดฐเดฟเดฏ เดฒเดฟเดจเด•เตเดธเต เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเดจเตเด•เตพ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดจเดฒเตเดฒเดคเดฒเตเดฒ - เด…เดคเดฟเดจเดพเตฝ เดˆ เด•เดฎเดพเตปเดกเดฟเดจเต เด’เดฐเต tty (เดŸเต†เตผเดฎเดฟเดจเตฝ) เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด…เตปเดธเดฟเดฌเดฟเตพ เดตเดณเดฐเต† เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟ.

pipelining = True

เดตเดธเตเดคเตเดคเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด“เดฐเต‹ เดจเดพเดŸเด•เดคเตเดคเดฟเดจเตเด‚ เด…เตปเดธเดฟเดฌเดฟเตพ เด…เดคเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดนเต‹เดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ เดตเดธเตเดคเตเดคเด•เดณเตเดŸเต† เดถเต‡เด–เดฐเดฃเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดฎเต‹? เดชเตŠเดคเตเดตเต‡, เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚. เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเดŸเดฏเดพเตป, เดตเดธเตเดคเตเดคเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฎเต‹เดกเต (เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดคเต) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดฎเดพเตผเดŸเตเดŸเต เดฎเต‹เดกเต เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด…เดคเดฟเตฝ, เดฎเตเตป เดจเดพเดŸเด•เด™เตเด™เดณเดฟเตฝ เด•เดฃเตเดŸเตเดฎเตเดŸเตเดŸเดพเดคเตเดค เด†เดคเดฟเดฅเต‡เดฏเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต‡ เดตเดธเตเดคเตเดคเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เต‚.
UPD. เดชเด•เตผเดคเตเดคเตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเดฒเตŠเดจเตเดจเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

gathering = smart|explicit

ssh เด•เดฃเด•เตเดทเดจเตเด•เตพ เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ เดŽเดชเตเดชเต‹เดดเต†เด™เตเด•เดฟเดฒเตเด‚ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เต เดฎเต‹เดกเดฟเตฝ Ansible เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ ("v" เด“เดชเตเดทเตป, เด’เดจเตเดจเต เดฎเตเดคเตฝ เด’เดฎเตเดชเดคเต เดคเดตเดฃ เดตเดฐเต† เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต), ssh เด•เดฃเด•เตเดทเดจเตเด•เตพ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดคเด•เดฐเดพเดฑเดฟเดฒเดพเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด…เดคเดฟเดจเดพเตฝ, เด‡เดตเดฟเดŸเต†เดฏเตเด‚ เด•เตเดฑเดšเตเดšเต เดธเต‚เด•เตเดทเตเดฎเดคเด•เดณเตเดฃเตเดŸเต.

เด’เดฐเต‡เดธเดฎเดฏเด‚ เดฐเดฃเตเดŸเต เดคเดฒเด™เตเด™เดณเดฟเตฝ เด’เดฐเต ssh เด•เดฃเด•เตเดทเตป เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจ เด˜เดŸเตเดŸเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดดเดฟเดตเดพเด•เตเด•เดพเด‚: เดจเต‡เดฐเดฟเดŸเตเดŸเต ssh เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเตเด‚ เดซเดฏเดฒเตเด•เตพ เดฎเดพเดจเต‡เดœเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเดฎเตเดชเต‹เดดเตเด‚.
เด’เดฐเต เดคเตเดฑเดจเตเดจ ssh เด•เดฃเด•เตเดทเตป เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด†เดตเดถเตเดฏเดฎเดพเดฏ เด•เต€เด•เตพ ssh เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด•. เดคเตเดŸเตผเดจเตเดจเต เด‡เดคเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดšเต†เดฏเตเดฏเดพเตป เดคเตเดŸเด™เตเด™เตเด‚: เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เด’เดฐเต ssh เด•เดฃเด•เตเดทเตป เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเต เด…เดงเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต เด•เตบเดŸเตเดฐเต‹เตพ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚, เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเด•เดณเดฟเตฝ, เด‡เดคเต เดˆ เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดจเตเดฑเต† เด…เดธเตเดคเดฟเดคเตเดตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด‚, เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ ssh เด•เดฃเด•เตเดทเตป. เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดทเตโ€Œเด•เตเดฐเดฟเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เดฃเด•เตเดทเตป เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดฎเดฏเด‚ เดจเดฎเตเด•เตเด•เต เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚ ssh เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป, เด•เต‚เดŸเดพเดคเต† เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดจเตเดฑเต† เดชเดถเตเดšเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ ssh เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด“เดชเตเดทเดจเตเด•เตพ "เดซเต‹เตผเดตเต‡เดกเดฟเด‚เด—เต" เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

ssh_args = "-o ControlMaster=auto -o ControlPersist=15m"

เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดค เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดฎเตเดชเต‹เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเตเดฑเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ ssh เด•เดฃเด•เตเดทเตป เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดฎเดฑเตเดฑเตŠเดฐเต เด…เดœเตเดžเดพเดค เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ ssh_tranfer_method เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•. เดˆ เดตเดฟเดทเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดณเดฐเต† เดตเดฒเตเดคเดพเดฃเต เดชเดฟเดถเตเด•เตเด•เตป เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚, เด•เดพเดฐเดฃเด‚ เดˆ เด“เดชเตเดทเตป เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต! เดชเด•เตเดทเต‡ เดตเดพเดฏเดจ เดธเต‡เดพเดดเตเดธเต เด•เต‡เดพเดกเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต: dd เด•เดฎเดพเตปเดกเต เดฎเดพเดจเต‡เดœเต เดšเต†เดฏเตเดค เดนเต‹เดธเตเดฑเตเดฑเดฟเตฝ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด‚, เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเดฏเดฒเตเดฎเดพเดฏเดฟ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

transfer_method = piped

เดตเดดเดฟเดฏเดฟเตฝ, "เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเด•เตเด•เตเด•" เดถเดพเด–เดฏเดฟเตฝ เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเดตเตเด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เดชเต‹เด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด•เดคเตเดคเดฟเดฏเต† เดญเดฏเดชเตเดชเต†เดŸเต‡เดฃเตเดŸ, เดจเดพเตฝเด•เตเด•เดตเดฒเดฏเต† เดญเดฏเดชเตเดชเต†เดŸเตเด•

เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ เดซเต‹เตผเด•เตเด•เตเด•เดณเดพเดฃเต. เด’เดฐเต‡เดธเดฎเดฏเด‚ เดนเต‹เดธเตเดฑเตเดฑเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เตพ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดคเตŠเดดเดฟเดฒเดพเดณเดฟ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด‡เดคเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดญเดพเดทเดฏเต†เดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด•เดคเด•เตพ เด•เดพเดฐเดฃเด‚, เดชเตเดฐเต‹เดธเดธเตเด•เดณเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต, เดคเตเดฐเต†เดกเตเด•เดณเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ Ansible เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเตˆเดคเตเดคเตบ 2.7-เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดธเดฟเตปเดทเตเดฏเต‹ เด‡เดฒเตเดฒ, เด‡เดตเดฟเดŸเต† เด…เดธเดฎเดจเตเดตเดฟเดค เดธเตเดตเดญเดพเดตเด‚ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด…เตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ! เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด…เตปเดธเดฟเดฌเดฟเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เด…เดžเตเดšเต เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เตพ, เดŽเดจเตเดจเดพเตฝ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดšเต‹เดฆเดฟเดšเตเดšเดพเตฝ, เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด‚:

forks = 20

เด•เตบเดŸเตเดฐเต‹เตพ เดฎเต†เดทเต€เดจเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเตเดŸเต† เด…เดณเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต เด‡เดตเดฟเดŸเต† เดšเดฟเดฒ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเต‡เด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเดพเตป เด‰เดŸเตป เดคเดจเตเดจเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต. เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดซเต‹เตผเด•เตเด•เตเด•เตพ = 100500 เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เด†เดฐเดพเดฃเต เดชเดฑเดžเตเดžเดคเต?

เด…เดคเต†เดฒเตเดฒเดพเด‚ เด’เดจเตเดจเดฟเดšเตเดšเต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, ansible.cfg (ini เดซเต‹เตผเดฎเดพเดฑเตเดฑเต), เด†เดตเดถเตเดฏเดฎเดพเดฏ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเดพเด‚:

[defaults]
gathering = smart|explicit
forks = 20
[ssh_connection]
pipelining = True
ssh_args = -o ControlMaster=auto -o ControlPersist=15m
transfer_method = piped

เด†เดฐเต‹เด—เตเดฏเดฎเตเดณเตเดณ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฟเดฏเตเดŸเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ YaML-เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟเดฏเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เดฎเดฑเดฏเตเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

---
all:
  vars:
    ansible_ssh_pipelining: true
    ansible_ssh_transfer_method: piped
    ansible_ssh_args: -o ControlMaster=auto -o ControlPersist=15m

เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, "เดถเต‡เด–เดฐเดฟเด•เตเด•เตฝ = เดธเตเดฎเดพเตผเดŸเตเดŸเต / เดธเตเดชเดทเตเดŸเดฎเดพเดฏ", "เดซเต‹เตผเด•เตเด•เตเด•เตพ = 20" เดŽเดจเตเดจเต€ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ: เด…เดตเดฏเตเดŸเต† YaML เดคเตเดฒเตเดฏเดคเด•เตพ เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒ. เด’เดจเตเดจเตเด•เดฟเตฝ เดžเด™เตเด™เตพ เด…เดตเดฏเต† ansible.cfg-เตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ ANSIBLE_GATHERING, ANSIBLE_FORKS เดŽเดจเตเดจเต€ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‚เดŸเต† เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเดพเด‚.

เดฎเตˆเดฑเตเดฑเต‹เดœเดจเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต
- เดฎเตˆเดฑเตเดฑเต‹เดœเดจเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‡เดคเต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต? - เดชเตเดฐเดฟเดฏ เดตเดพเดฏเดจเด•เตเด•เดพเดฐเดพ, เดšเต‹เดฆเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดตเด•เดพเดถเดฎเตเดฃเตเดŸเต. เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด’เดฐเดฟเดŸเดคเตเดคเตเด‚ เด‡เดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเตเดฑเต† เด•เต‹เดกเต เดตเดพเดฏเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดฎเตˆเดฑเตเดฑเต‹เดœเดจเตเดฎเดพเดฏเดฟ เด•เตเดฐเดพเดทเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เดถเดฐเดฟเด•เตเด•เตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดŽเดจเตเดจเดพเตฝ เดตเดพเดจเดฟเดฒ เด…เตปเดธเดฟเดฌเดฟเดณเดฟเตฝ เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต‡ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดฎเตเดฎเตเดชเต เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเดฟเดจเต เดถเต‡เดทเด‚ เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเต†เดฏเตเดฏเดพเตป เดคเตเดŸเด™เตเด™เดฟ - เดถเดฐเดฟ, เดฎเตˆเดฑเตเดฑเต‹เดœเตป เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเด•เดฐเดฃเด‚ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด‡เดคเต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เตเด•, เดฒเต‡เด–เดจเด™เตเด™เตพ เดŽเดดเตเดคเตเด• - เดžเดพเตป เด…เดคเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดคเตเดคเต‹เดŸเต† เดตเดพเดฏเดฟเด•เตเด•เตเด‚.

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดžเดพเตป เดตเตเดฏเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เดฎเตˆเดฑเตเดฑเต‹เดœเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฐเตเดคเต? เด•เดพเดฐเดฃเด‚ เด—เตเดฒเดพเดกเดฟเดฏเต‹เดฒเดธเต เดœเต‹เดฒเดฟเด•เตพ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดตเตเด‚ เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเตเดฎเตเดณเตเดณเดฟเดŸเดคเตเดคเต‹เดณเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เต‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเด™เตเด™เตพ เด‡เดŸเดคเตเดคเต‹เดŸเตเดŸเต‹ เดตเดฒเดคเตเดคเต‹เดŸเตเดŸเต‹ เด…เตฝเดชเตเดชเด‚ เดคเดฟเดฐเดฟเดžเตเดžเดพเตฝ - เด…เดคเตเดฐเดฎเดพเดคเตเดฐเด‚, เดžเด™เตเด™เตพ เดŽเดคเตเดคเดฟ: เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ, เด’เดฐเตเดชเดฟเดŸเดฟ เด…เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด…เดชเดตเดพเดฆเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเต‡เดฐเต† เดชเดฑเด•เตเด•เตเดจเตเดจเต, เดšเดฟเดคเตเดฐเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเตป, "เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดจเดจเตเดฆเดฟ" เดŽเดจเตเดจ เดชเตŠเดคเตเดตเดพเดฏ เดตเดพเดšเด•เด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดจเดทเตเดŸเดฎเดพเดฏเดคเต. , เดŽเดฒเตเดฒเดพเดตเดฐเตเด‚ เดธเตเดตเดคเดจเตเดคเตเดฐเดฐเดพเดฃเต. เดชเตŠเดคเตเดตเต‡, เด…เดŸเตเดคเตเดค "เด…เดฃเตเดŸเตผเด—เตเดฐเต—เดฃเตเดŸเต เดฎเตเดŸเตเดŸเดฟเดจเตเดฑเต†" เด•เดพเดฐเดฃเด™เตเด™เตพ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เดธเดฎเดฏเด‚ เดชเดพเดดเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดšเดฟเดฒเดคเต เดตเดพเดฏเดจเดพ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ เดธเต‡เดพเดดเตเดธเต เด•เต‡เดพเดกเต "ssh.py" เดŽเดจเตเดจ เดธเตเดตเดฏเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฃ เดจเดพเดฎเดคเตเดคเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดชเตเดฒเด—เดฟเตป. เดธเตเดฐเต‹เดคเดธเตเดธเตเด•เตพ เดจเต‹เด•เตเด•เดพเดจเตเด‚ เด…เดต เดตเดพเดฏเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด‡เดคเต เดฎเดฑเตเดฑเดพเดฐเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดšเต‹เดฆเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเต†เดจเตเดจ เดชเตเดฐเดคเต€เด•เตเดทเดฏเดฟเตฝ เดžเดพเตป เดตเดพเดฏเดจเดฏเตเดŸเต† เดซเดฒเด™เตเด™เตพ เดชเด™เตเด•เดฟเดŸเตเดจเตเดจเต - เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดคเดพเดฎเดธเดฟเดฏเดพเดคเต† เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดฟเดจเตเดจเต€เดŸเต เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฒเตเดฒ เดซเดฒเด™เตเด™เตพ เดจเตฝเด•เตเด‚. เดจเดฒเตเดฒเดคเตเดตเดฐเดŸเตเดŸเต†!

เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตผเดตเต‡เดฏเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เดธเตˆเตป เด‡เตปเดฆเดฏเดตเดพเดฏเดฟ.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเตป เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดคเต เด…เตปเดธเดฟเดฌเดฟเตพ เด•เตเดฐเดฎเต€เด•เดฐเดฃเดฎเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต?

  • 69,6%เดชเตˆเดชเตเดชเตเดฒเตˆเดจเดฟเด‚เด—เต=true32

  • 34,8%เด’เดคเตเดคเตเดšเต‡เดฐเตฝ = เดธเตเดฎเดพเตผเดŸเตเดŸเต/เดตเตเดฏเด•เตเดคเด‚16

  • 52,2%ssh_args = "-o ControlMaster=auto -o ControlPersist=..."24

  • 17,4%transfer_method = เดชเตˆเดชเตเดชเต 8

  • 63,0%เดซเต‹เตผเด•เตเด•เตเด•เตพ = XXX29

  • 6,5%เด‡เดคเตŠเดจเตเดจเตเด‚ เด…เดฒเตเดฒ, เดตเต†เดฑเตเด‚ Mitogen3

  • 8,7%Mitogen + เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดเดคเดพเดฃเต 4 เดŽเดจเตเดจเต เดžเดพเตป เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด‚

46 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. 21 เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดตเดฟเดŸเตเดŸเตเดจเดฟเดจเตเดจเต.

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดตเต‡เดฃเต‹?

  • 78,3%เด…เดคเต†, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚54

  • 21,7%เด…เดคเต†, เดŽเดจเดฟเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดนเดพเตผเดกเตโ€Œเด•เต‹เตผ เดธเตเดฑเตเดฑเดซเต เดตเต‡เดฃเด‚!15

  • 0,0%เด‡เดฒเตเดฒ, เด…เดคเต เด’เดจเตเดจเดฟเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ

  • 0,0%เด…เดฒเตเดฒ, เด‡เดคเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต!!!0

69 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. 7 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดฟเดŸเตเดŸเตเดจเดฟเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•