2015-06-03 21 views
2

我想知道如何優化Ansible以使用與完全不同的網絡,其中加速和默認可能不一定有好處的用例。爲非傳統網絡優化Ansible Transport SSH

在這種情況下,我不處理的虛擬網絡,我也沒有處理服務器。我正在處理數以百計的嵌入式,具有相當獨特的網絡設計,網絡中主機或電纜佈線的故障可能會導致對相鄰主機的定期連接更改。

這通常會導致對單個SSH連接錯誤丟棄或laggy SSH會話,但不幸的是造成Ansible對特定主機有時會掛起和超時單獨改變似乎並沒有任何區別。

任何人都可以提供一些信息,說明哪些參數最適合管理配置更改,並在網絡上安裝更新,並在特定主機上連接或連接特定主機的過程中出現丟失,因此較長的活動會話可能不會有好處。在上下文中對這些地區特別是一些建議,以這種使用場景

  1. SSH VS的paramiko
  2. 控制仍然存在,流水線和超時PARAMS
  3. 加速還是沒有?
  4. 評估指定叉號運行
+0

你考慮過拉模式嗎? https://docs.ansible.com/playbooks_intro.html#ansible-pull – Mxx

+0

Mxx - 是的,我考慮過拉模式 - 這對於軟件更新肯定是一個好主意,但我也用它來做自動檢查,是不實際的。 Kashyap - Ansible應該爲了超過直接ssh的目的而罰款,並且比parallel-ssh更容易管理庫存。我在這裏沒有做過瘋狂的事情 - 只是偶爾推送(小)包,當然還有系統檢查,只需要運行幾個shell腳本即可。 – 264nm

回答

2

如果你所在的連接可能會「期間,」播放/任務的執行會丟失,然後我不知道如果(讀取網絡中工作的適用性:我不認爲)能夠經常保存執行環境以便從這些問題中恢復過來。

如果你的網絡不好,你應該解決這個問題。

假設你已經知道了這一切,如果你的網絡是壞的,但你不能修復它,然後感興趣的PARAMS將#2及可能含有#3你上市。

更改#2以確保SSH不會嘗試重新使用連接(不會持續)。這會減緩劇本的執行速度,但會提供更好的穩定性。

更改#3,如果你要傳輸大文件,而您使用的paramiko或ansible年齡大於1.5。

爲了完整:#1是有點兒想都不用想,除非你沒有選擇,不使用的paramiko。因此,雖然您將其列爲可供選擇的內容,但出於實際的目的,有理由期望您使用SSH,因爲在SSH上使用paramiko有很多缺點,只有一個優點,如果您不知道優勢,那麼您可能不需要它。 :-)

即使在所有這些設置,如果你的連接任務的執行過程中丟失了,ansible可能做不到,除非你顯示錯誤信息任何東西。唯一能幫助你處理這些情況的就是你的戲劇/任務的ide thing。所以你可以直接在循環中運行它,直到你的playbook成功運行並進行0次更改。

+0

謝謝 - 這是一種情況,除了通過配置更改進行優化外,我沒有關於網絡的選擇 - 沒有物理訪問。有時候你的工作就是在加入一個項目之前充分利用所做的工作,這是其中一種情況。這是非常規的,因爲每個節點都是一個橋樑,因此當檢測到拓撲變化時需要穩定。 – 264nm