1
A
回答
2
簡而言之:每個任務 Ansible包所需的模塊和庫加數據輸入到微型封裝,傳送到目標系統(通常通過ssh)上的臨時位置,之後本身就存在和清理執行它。
Ansible不會將您的劇本作爲整體複製到目標系統。只有每個單獨任務需要的數據。
有關開發人員指南中的工作流程的更多詳細信息here。
1
對於運行Unix/Linux中,控制機目標機器:
打開SSH會話到目標節點,執行基本的製劑(例如創建臨時目錄);
創建自定義腳本(主要是Python)並將它們使用SFTP(默認)或SCP(configurable)傳輸到目標;
最後它執行目標主機上的腳本。
對每個單個主機上的每個單個任務都重複該過程(Ansible也可以優化爲爲多個任務保留開放的SSH會話)。
在Ansible,工作的基本單元進行編碼,modules和(從調用)的任務規定。
對於大多數模塊來說,邏輯是用Python編寫的。無論特定的模塊是否使用外部程序,要執行的動作都被封裝在Python腳本中。
以上的一個例外是
raw
module,它在SSH會話中直接執行特定命令。另一個特例是
synchronize
module它在控制機器上執行並使用rsync
傳輸文件。
一些模塊,其目標主要是cloud服務和network設備,是本地主機(或代理機)訪問目標系統和設備與他們的API上執行。
對於Windows目標計算機,Ansible與WinRM連接,並通過Windows本機PowerShell遠程處理功能在目標計算機上運行PowerShell腳本。
相關問題
- 1. 我的代碼不執行命令代碼,它只顯示命令提示符,但它不執行命令
- 2. Ansible執行命令
- 3. 在Ruby代碼執行curl命令
- 4. 在代碼中執行CMD命令
- 5. 從windows命令行執行Perl代碼
- 6. 從python代碼執行Unix命令
- 7. 從Ruby代碼執行shell命令
- 8. 的Java執行命令不代碼
- 9. 使用C代碼執行Bash命令
- 10. 執行命令android本機代碼
- 11. 執行命令按鈕代碼
- 12. 從java代碼執行CURL命令
- 13. 這段代碼不可複製嗎?
- 14. 如何在代碼中執行osgi命令
- 15. 如何在此代碼中執行ffmpeg命令
- 16. 如何控制何時在JavaScript中執行某些代碼塊?
- 17. 如何在python腳本中執行這一行代碼,就好像它是命令行一樣?
- 18. 如何從命令行執行PHP代碼?
- 19. 如何從命令行執行Visual Studio代碼分析?
- 20. 用命令在Linux/Unix上執行SSH代碼
- 21. 無法在返回代碼上執行命令1
- 22. 使用Java代碼在Windows上使用CMD執行命令
- 23. 從代碼執行二進制失敗,但在命令行中運行它的工作原理
- 24. 運行命令行代碼
- 25. 我如何重構這些代碼行?
- 26. 無法執行「命令蘇 - 」在Ansible
- 27. 電話7:它如何執行代碼?
- 28. 這段代碼是如何執行的?
- 29. 與代理轉換這個cURL命令到Node.js的代碼
- 30. 網絡上的Python:在處理它時執行代碼?