簡體   English   中英

Azure,容器和水平縮放

[英]Azure, Containers and horizontal scaling

我是容器和 Kubernetes 的新手。 我在 Azure 中進行了大部分測試。

我創建了一個容器並根據負載水平縮放容器。 托管在我構建的容器中的端點將不得不處理突發的請求。 我希望容器大部分時間都處於空閑狀態,但在我的測試中,它有時必須擴展到多個實例以處理請求的突發。

為了降低運行服務的成本,我想知道是否可以將容器的實例數量縮減為 0,同時保持在請求即將到來時“喚醒”容器的能力? 我怎么能做到這一點?

有許多與此功能相關的提案,但沒有一個被納入 kubernetes。

空閑/非空閑提案:

  1. https://github.com/kubernetes/kubernetes/pull/3247
  2. https://github.com/kubernetes/kubernetes/pull/29471
  3. https://github.com/kubernetes/kubernetes/issues/42255

這是一個難題,因為在啟動服務時,傳入的請求需要排隊。

如果您有興趣實現此功能,看起來已經為您完成了一些工作,但它不一定是您的用例的端到端解決方案: https://github.com/openshift /服務閑置者

這是另一個解決類似功能的項目: https://github.com/deislabs/osiris

AKS 在內部使用水平 pod 自動縮放器 (HPA) 來監控資源需求並自動縮放副本數量。 此外,kubernetes 的集群自動擴縮器根據 Pod 的不同需求,根據計算資源需求調整節點數量。

將 ACI 與 AKS 結合在一起形成了用於微服務的強大部署 model,其中 AKS 可用於微服務的典型部署,而 ACI 可用於處理突發工作負載,從而減少擴展管理方面的挑戰並確保有效利用每秒使用成本 model。

此外,如果需要對現有 azure 應用程序進行基於事件觸發的用例的擴展,那么 azure 功能可能是更好的選擇。 此處,特定代碼(函數)應根據要求僅針對特定事件或觸發器調用,並按需創建、銷毀 function 實例(按需計算 - function 即服務(FaaS))。 Azure function 避免了額外資源(VM)的分配,並且僅在 function 正在處理工作時才考慮成本。 解決方案可以結合這兩種功能,例如 Azure function 應被觸發以進行最少的處理/決策,並且反過來可以調用 Azure 容器實例的完整處理成本較低,以實現特定的突發處理成本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM