Ansible 並行和異步

增長並行進程數

Ansible提供一個forks的屬性,能夠設置運行並行進程數。這個值默認比較保守,只有5個並行進程。咱們能夠根據本身的機器性能以及網絡狀況來設定,不少人使用50,也有用500以上的。若是有不少機器要管理的話,能夠嘗試先增長這個值,看看效果。有三個地方能夠設置forks的數量:html

  • 環境變量:export ANSIBLE_FORKS=100
  • ansible.cfg這個配置文件裏設置:forks=100
  • 運行ansible命令時增長參數:-f 100

當機器數量比較大的時候,不免會有幾臺機器不能正常執行。這時候ansible會有提示to retry, use: --limit @/xxx/xxx.retry,把它增長到上個命令的後面就行了。網絡

異步

有時候執行某個任務可能須要很長的時間,在集羣規模較大的狀況下慢得讓人沒法忍受。這時能夠考慮使用異步模式。在tasks裏增長async的屬性,設成某個數字,好比60,意思就是這個任務最大運行時間不能超過60秒。也能夠設成0,意思是無論任務運行多久,一直等待便可。若是沒有指定async,則默認爲同步模式。還能夠設定poll,默認值爲10,意思就是每隔10秒輪詢查看結果。若是不須要查看結果,設爲0就行了。還能夠經過registerasync_status設定暫時不查看結果,等須要的時候再查看。具體作法能夠參考上面的異步模式官網文檔,也能夠看翻譯的中文文檔異步

相關文章
相關標籤/搜索