2015-11-19 31 views
2

Mesos或Kubernetes是否提供動態分配/取消分配虛擬機的工具?如何使用Mesos/Kubernetes/Azure來擴展和縮小可用虛擬機?

我需要構建一個具有高度可變負載和短期和長期運行任務混合的工作流引擎。例如,在上午9點,我可能需要運行10,000個工作,500個工作需要4個小時才能運行,其餘工作需要5分鐘。然後在上午10點,我只需要運行600個短期工作。

如果我在Azure上運行(我的首選雲環境),Mesos或Kubernetes是否可以動態擴展或縮減羣集中可用的虛擬機以滿足需求?它可以智能地做到這麼長時間運行的工作不會被打斷?

回答

2

由於我個人不使用Azure,因此無法通過平均CPU使用率或消息隊列大小了解Azure supports auto-scaling。如果您想遵循「手動」方式,請參閱文檔以瞭解Azure有哪些可能的功能。

對於Mesos案例,我認爲CPU使用模式可以用來自動啓動新的Mesos Slaves/Agents,如果遇到某些限制。據我所知,純Mesos本身不能啓動其他虛擬機,這意味着自動擴展必須通過雲提供商的接口完成。

如果您想使用DCOS,則需要註冊DCOS on Azure的EAP。據我所知,DCOS應該能夠與雲提供商的界面進行交互,這意味着它應該能夠自動擴展。

1

Kubernetes還沒有真正的自動縮放,但你可以通過監控特定的api(每秒請求數)「手動」來做到這一點,並讓它調用特定的Azure比例上/下api。

3

我不知道azure中的DCOS/MESOS的自動縮放器。這是一個github存儲庫,用於在ACS kubernetes集羣內創建自動縮放器。 https://github.com/wbuchwalter/Kubernetes-acs-autoscaler

至於代碼是如何工作的。它是一個使用az cli命令構建的工具,用於通過使用az acs scale命令告訴ACS服務擴展和縮小節點。看着代碼,它有願望去耗盡所有連接,然後使用kubectl從節點中獲得pod,但目前看起來並沒有這樣做。

+0

儘管此鏈接可能會回答問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/15754729) – Tom

+1

感謝您的反饋,我下次會做得更好。這次我實際上並不知道autoscaler的內部結構,所以我不想歪曲它。將更詳細地編輯它如何工作。 –