เจœเจตเจพเจฌ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ

เจœเจตเจพเจฌ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจเจพ
เจ‡เจน เจ•เฉ‹เจˆ เจฐเจพเจœเจผ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจกเจฟเจซเฉŒเจฒเจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ Ansible เจ†เจชเจฃเจพ เจ•เฉฐเจฎ เจฌเจนเฉเจค เจœเจฒเจฆเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจ‡เจธเจฆเฉ‡ เจ•เจˆ เจ•เจพเจฐเจจเจพเจ‚ เจตเฉฑเจฒ เจ‡เจธเจผเจพเจฐเจพ เจ•เจฐเจพเจ‚เจ—เจพ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจพเจ‚เจ—เจพ เจœเฉ‹, เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจ—เจคเฉ€ เจจเฉ‚เฉฐ เจตเจงเจพเจเจ—เจพ.

เจ‡เฉฑเจฅเฉ‡ เจ…เจคเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ…เจธเฉ€เจ‚ Ansible 2.9.x 'เจคเฉ‡ เจšเจฐเจšเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจฎเจจเจชเจธเฉฐเจฆ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจคเจพเจœเจผเฉ‡ เจฌเจฃเจพเจ เจ—เจ เจตเจฐเจšเฉเจ…เจฒเฉ‡เจจเจต เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ†เจชเจฃเฉ€ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฆเฉ‡ เจ…เฉฑเจ—เฉ‡ เจ‡เฉฑเจ• "ansible.cfg" เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ - เจ‡เจน เจธเจฅเจพเจจ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เจนเจจเจพเจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจจเจพเจฒ เจนเฉ€ เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเฉ‹เจก เจนเฉ‹ เจœเจพเจฃเจ—เฉ€เจ†เจ‚เฅค

เจชเจพเจˆเจชเจฒเจพเจˆเจจเจฟเฉฐเจ—

เจ•เฉเจ เจจเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเจพเจˆเจชเจฒเจพเจˆเจจเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจฌเจพเจฐเฉ‡ เจธเฉเจฃเจฟเจ† เจนเฉ‹เจตเฉ‡เจ—เจพ, เจฏเจพเจจเฉ€ เจŸเจพเจฐเจ—เฉ‡เจŸ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจฎเฉ‹เจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ, เจชเจฐ เจฌเฉ‡เจธ 64 เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฟเจ† เจ‡เฉฑเจ• เจœเจผเจฟเจช เจ†เจฐเจ•เจพเจˆเจต เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจชเจพเจˆเจฅเจจ เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจธเจŸเฉˆเจกเจฟเจจ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจเจพ, เจชเจฐ เจนเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡, เจชเจฐ เจคเฉฑเจฅ เจ‡เฉฑเจ• เจคเฉฑเจฅ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ: เจ‡เจน เจธเฉˆเจŸเจฟเฉฐเจ— เจ…เจœเฉ‡ เจตเฉ€ เจ˜เฉฑเจŸ เจ…เจจเฉเจฎเจพเจจเจฟเจค เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ. เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ•เฉเจ เจชเฉเจฐเจธเจฟเฉฑเจง เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจœเฉ‹ เจกเจฟเจซเจพเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš sudo เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ - เจ‡เจธ เจฒเจˆ เจ‡เจธ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจ‡เฉฑเจ• tty (เจŸเจฐเจฎเฉ€เจจเจฒ) เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ Ansible เจจเฉ‡ เจ‡เจธ เจฌเจนเฉเจค เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจธเฉˆเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ…เจฏเฉ‹เจ— เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค

pipelining = True

เจคเฉฑเจฅ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเจจเจพ

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจนเจฐเฉ‡เจ• เจจเจพเจŸเจ• เจฒเจˆ เจœเจตเจพเจฌเจฆเฉ‡เจน เจ‡เจธ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆเจฃ เจตเจพเจฒเฉ‡ เจธเจพเจฐเฉ‡ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจฒเจˆ เจคเฉฑเจฅเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเจฆเจพ เจนเฉˆ? เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจธเฉ€, เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹เฅค เจ…เจœเจฟเจนเจพ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉฑเจฅ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเจจ เจฒเจˆ เจธเจชเจธเจผเจŸ เจฌเฉ‡เจจเจคเฉ€ เจฎเฉ‹เจก (เจธเจชเจธเจผเจŸ) เจœเจพเจ‚ เจธเจฎเจพเจฐเจŸ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจ‰เจจเฉเจนเจพเจ‚ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจคเฉฑเจฅ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡ เจœเฉ‹ เจชเจฟเจ›เจฒเฉ‡ เจจเจพเจŸเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจนเจฎเจฃเฉ‡ เจจเจนเฉ€เจ‚ เจ†เจ เจธเจจเฅค
เจฏเฉ‚.เจชเฉ€.เจกเฉ€. เจ•เจพเจชเฉ€ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉˆเจŸเจฟเฉฐเจ— เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€เฅค

gathering = smart|explicit

ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจฆเฉ‡ เจตเฉ€ เจกเฉ€เจฌเจ—เจฟเฉฐเจ— เจฎเฉ‹เจก ("v" เจตเจฟเจ•เจฒเจช, เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจจเฉŒเจ‚ เจตเจพเจฐ เจฆเฉเจนเจฐเจพเจ‡เจ† เจ—เจฟเจ†) เจตเจฟเฉฑเจš Ansible เจจเฉ‚เฉฐ เจšเจฒเจพเจ‡เจ† เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจ‡เจฆ เจฆเฉ‡เจ–เจฟเจ† เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจ—เจพเจคเจพเจฐ เจฌเจฃเจพเจ เจ…เจคเฉ‡ เจŸเฉเฉฑเจŸ เจฐเจนเฉ‡ เจนเจจเฅค เจ‡เจธ เจฒเจˆ, เจ‡เฉฑเจฅเฉ‡ เจตเฉ€ เจ•เฉเจ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจนเจจ.

เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจฆเฉ‹ เจชเฉฑเจงเจฐเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• ssh เจ•เจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจชเฉœเจพเจ… เจคเฉ‹เจ‚ เจฌเจš เจธเจ•เจฆเฉ‡ เจนเฉ‹: เจฆเฉ‹เจตเฉ‡เจ‚ เจธเจฟเฉฑเจงเฉ‡ ssh เจ•เจฒเจพเจ‡เฉฐเจŸ เจตเจฟเฉฑเจš, เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจฎเฉˆเจจเฉ‡เจœเจฐ เจคเฉ‹เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจนเฉ‹เจธเจŸ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒเจพเจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค
เจ‡เฉฑเจ• เจ–เฉเฉฑเจฒเฉ‡ ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ, เจฌเจธ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ ssh เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจฆเจฟเจ“เฅค เจซเจฟเจฐ เจ‡เจน เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ: เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจ‡เฉฑเจ• ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡, เจ‡เจน เจ‡เฉฑเจ• เจ…เจ–เฉŒเจคเฉ€ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจธเจพเจ•เจŸ เจตเฉ€ เจฌเจฃเจพเจเจ—เจพ, เจ…เจ—เจฒเฉ€เจ†เจ‚ เจธเจฅเจพเจชเจจเจพเจตเจพเจ‚ 'เจคเฉ‡, เจ‡เจน เจ‡เจธ เจธเจพเจ•เจŸ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจธเจซเจฒ เจนเฉ‹, เจคเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจตเจฐเจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจเฅค เจ…เจคเฉ‡ เจ‡เจธ เจธเจญ เจฆเจพ เจ…เจฐเจฅ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ†เจ“ เจ…เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจนเฉ‹เจฃ 'เจคเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจธเจฎเจพเจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ€เจเฅค เจคเฉเจธเฉ€เจ‚ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ ssh เจฆเจธเจคเจพเจตเฉ‡เจœเจผ, เจ…เจคเฉ‡ Ansible เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ ssh เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ "เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ—" เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

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

เจ‡เฉฑเจ• เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจนเฉ‹เจธเจŸ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒเจพเจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจ–เฉเฉฑเจฒเฉเจนเฉ‡ ssh เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ, เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ…เจฃเจœเจพเจฃ เจธเฉˆเจŸเจฟเฉฐเจ— ssh_tranfer_method เจฆเจฟเจ“เฅค เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฌเจนเฉเจค เจนเฉ€ เจนเจจ เจ•เฉฐเจœเฉ‚เจธ เจ…เจคเฉ‡ เจ—เฉเฉฐเจฎเจฐเจพเจนเจ•เฉเฉฐเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจตเจฟเจ•เจฒเจช เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ! เจชเจฐ เจชเฉœเฉเจนเจจเจพ เจธเฉ‚เจคเจฐ เจธเฉฐเจ•เฉ‡เจคเจพเจตเจฒเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเจฎเจเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ: dd เจ•เจฎเจพเจ‚เจก เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจนเฉ‹เจธเจŸ 'เจคเฉ‡ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€, เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจซเจพเจˆเจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค

transfer_method = piped

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, "เจตเจฟเจ•เจพเจธ" เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจ‡เจน เจธเฉˆเจŸเจฟเฉฐเจ— เจตเฉ€ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ เจ•เจฟเจคเฉ‡ เจจเจนเฉ€เจ‚ เจœเจพ เจฐเจฟเจนเจพ.

เจšเจพเจ•เฉ‚ เจคเฉ‹เจ‚ เจจเจพ เจกเจฐเฉ‹, เจ•เจพเจ‚เจŸเฉ‡ เจคเฉ‹เจ‚ เจกเจฐเฉ‹

เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจธเฉˆเจŸเจฟเฉฐเจ— เจซเฉ‹เจฐเจ• เจนเฉˆเฅค เจ‡เจน เจตเจฐเจ•เจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจจเจ—เฉ‡ เจ…เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจ—เฉ€เจ†เจ‚เฅค เจญเจพเจธเจผเจพ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจพเจˆเจฅเจจ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจจเจพ เจ•เจฟ เจฅเฉเจฐเฉˆเฉฑเจกเจธ, เจ•เจฟเจ‰เจ‚เจ•เจฟ Ansible เจ…เจœเฉ‡ เจตเฉ€ Python 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 เจตเจฟเฉฑเจšเฉ‹เจ‚ เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

Mitogen เจฌเจพเจฐเฉ‡
- เจ‡เจน Mitogen เจฌเจพเจฐเฉ‡ เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉˆ? - เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจนเฉˆ, เจชเจฟเจ†เจฐเฉ‡ เจชเจพเจ เจ•เฅค เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเจš เจ•เจฟเจคเฉ‡ เจจเจนเฉ€เจ‚เฅค เจชเจฐ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจ‡เจธเจฆเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฎเจฟเจŸเฉ‹เจœเฉ‡เจจ เจจเจพเจฒ เจ•เฉเจฐเฉˆเจธเจผ เจ•เจฟเจ‰เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจชเจฐ เจตเจจเฉ€เจฒเจพ เจเจ‚เจธเฉ€เจฌเจฒ เจจเจพเจฒ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจพเจ‚ เจ‰เจนเฉ€ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ€ เจธเฉ€, เจชเจฐ เจ‡เฉฑเจ• เจ…เจชเจกเฉ‡เจŸ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจœเฉ€เจฌ เจšเฉ€เจœเจผเจพเจ‚ เจ•เจฐเจจเฉ€เจ†เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจˆเจ†เจ‚ - เจ เฉ€เจ• เจนเฉˆ, เจฎเจฟเจŸเฉ‹เจœเจจ เจธเฉฐเจญเจพเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจกเจพ เจธเฉฐเจฆ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธเจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‹, เจ‡เจธเจจเฉ‚เฉฐ เจธเจฎเจเฉ‹, เจฒเฉ‡เจ– เจฒเจฟเจ–เฉ‹ - เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจจเจพเจฒ เจชเฉœเฉเจนเจพเจ‚เจ—เจพ.

เจฎเฉˆเจ‚ เจจเจฟเฉฑเจœเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ Mitogen เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ—เจฒเฉˆเจกเฉ€เจ“เจฒเจธ เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เฉฐเจฎ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจธเจงเจพเจฐเจจ เจนเจจ เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ–เฉฑเจฌเฉ‡ เจœเจพเจ‚ เจธเฉฑเจœเฉ‡ เจชเจพเจธเฉ‡ เจฅเฉ‹เฉœเฉเจนเจพ เจœเจฟเจนเจพ เจฎเฉเฉœเจฆเฉ‡ เจนเฉ‹ - เจคเจพเจ‚ เจ‡เจน เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจ† เจ—เจ เจนเจพเจ‚: เจœเจตเจพเจฌ เจตเจฟเฉฑเจš, เจ•เฉเจ เจ…เจธเจชเจธเจผเจŸ เจ…เจชเจตเจพเจฆ เจคเฉเจนเจพเจกเฉ‡ 'เจคเฉ‡ เจ‰เฉฑเจกเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจคเจธเจตเฉ€เจฐ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฒเจˆ, เจœเฉ‹ เจ—เฉเฉฐเจฎ เจนเฉˆ, เจ‰เจน เจธเจญ เจ†เจฎ เจตเจพเจ•เฉฐเจธเจผ เจนเฉˆ "เจคเฉเจนเจพเจกเจพ เจธเจพเจฐเจฟเจ†เจ‚ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ , เจนเจฐ เจ•เฉ‹เจˆ เจ†เจœเจผเจพเจฆ เจนเฉˆเฅค" เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจ…เจ—เจฒเฉ€ "เจญเฉ‚เจฎเฉ€เจ—เจค เจฆเจธเจคเจ•" เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฌเจฐเจฌเจพเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพเฅค

เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉŒเจฐเจพเจจ เจ–เฉ‹เจœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ เจธเฉ‚เจคเจฐ เจธเฉฐเจ•เฉ‡เจคเจพเจตเจฒเฉ€ เจธเจตเฉˆ-เจตเจฟเจ†เจ–เจฟเจ†เจคเจฎเจ• เจจเจพเจฎ โ€œssh.pyโ€ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจชเจฒเฉฑเจ—เจ‡เจจเฅค เจฎเฉˆเจ‚ เจ‡เจธ เจ‰เจฎเฉ€เจฆ เจตเจฟเฉฑเจš เจชเฉœเฉเจนเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจจเฉ‚เฉฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ, เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ, เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเจพเจฒ เจคเฉเจฒเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเฉ‡เจฐเจฟเจค เจ•เจฐเฉ‡เจ—เจพ - เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจœเจฒเจฆเฉ€ เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เจน เจธเจญ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจจเจคเฉ€เจœเฉ‡ เจฒเจฟเจ†เจเจ—เจพ. เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€!

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ เจœเจตเจพเจฌเจฆเฉ‡เจน เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจฟเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹?

  • 69,6%เจชเจพเจˆเจชเจฒเจพเจˆเจจเจฟเฉฐเจ— = เจธเฉฑเจš 32

  • 34,8%เจ‡เจ•เฉฑเจคเจฐเจคเจพ = เจธเจฎเจพเจฐเจŸ/เจธเจชเจธเจผเจŸ16

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

  • 17,4%เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ_เจฎเฉ‡เจฅเจก = เจชเจพเจˆเจช 8

  • 63,0%เจซเฉ‹เจฐเจ•เจธ = XXX29

  • 6,5%เจ‡เจธ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚, เจธเจฟเจฐเจซเจผ Mitogen3

  • 8,7%Mitogen + เจฎเฉˆเจ‚ เจจเฉ‹เจŸ เจ•เจฐเจพเจ‚เจ—เจพ เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจฟเจนเฉœเฉ€ เจธเฉˆเจŸเจฟเฉฐเจ— 4

46 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจชเจพเจˆเฅค 21 เจตเจฐเจคเฉ‹เจ‚เจ•เจพเจฐ เจฌเจšเจฟเจ†เฅค

Ansible เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹?

  • 78,3%เจนเจพเจ‚, เจœเจผเจฐเฉ‚เจฐ 54

  • 21,7%เจนเจพเจ‚, เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจนเฉ‹เจฐ เจนเจพเจฐเจกเจ•เฉ‹เจฐ เจšเฉ€เจœเจผเจพเจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ!15

  • 0,0%เจจเจนเฉ€เจ‚, เจ…เจคเฉ‡ เจ‡เจน เจ•เฉเจ เจตเฉ€ เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ0

  • 0,0%เจจเจนเฉ€เจ‚, เจ‡เจน เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉˆ!!!0

69 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 7 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡ เจนเฉ‹เจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹