在現代企業中,如何有效管理雲端資源成為了關鍵課題。對於使用 Google Kubernetes Engine (GKE) 的企業來說,透過將閒置的工作負載縮減至零,不僅能大幅節省成本,還能提升資源利用效率。然而,儘管 GKE 的 Cluster Autoscaler 在管理節點池方面表現優秀,但它並不支援將節點池完全縮減至零。這時,Kubernetes Event-driven Autoscaler (KEDA) 成為了一個強大的解決方案。
為什麼要縮減至零?
縮減至零的目的是將資源需求與實際使用相匹配,避免閒置浪費。以下是一些適用情境:
- GPU 密集型工作負載:節省 AI/ML 工作負載中閒置 GPU 資源的高昂成本。
- 可預測的閒置期:例如僅在工作時間使用的內部工具,或具有季節性需求的應用程式。
- 暫時性環境:測試、展示或概念驗證時所需的短期資源。
- 事件驅動應用:應對流量波動的微服務或無伺服器函數,根據需求動態調整資源配置。
透過縮減至零,企業不僅能降低開銷,還能確保在需要時迅速恢復資源。
KEDA 的強大功能
KEDA 是一個開源工具,能夠根據外部事件動態調整 Kubernetes 的工作負載。與 GKE 的水平 Pod 自動調整器 (HPA) 不同,KEDA 支援根據事件指標將工作負載縮減至零,尤其適合間歇性任務或需求波動明顯的應用場景。
以下是兩個典型應用案例:
- 縮減 Pub/Sub 任務工作負載
- 情境:需要處理 Pub/Sub 主題訊息的部署,在訊息空閒時浪費資源。
- 解決方案:KEDA 的 Pub/Sub 調整器會監控訊息佇列,當沒有訊息時自動將部署縮減至零,有效降低成本。
- 縮減 GPU 依賴型工作負載
- 情境:使用 Ollama 部署大型語言模型 (LLM) 進行推理工作,GPU 資源閒置時成本過高。
- 解決方案:透過 KEDA 的 HTTP 調整功能,僅在接收到 HTTP 請求時啟動部署,大幅降低 GPU 資源閒置成本。
選擇 KEDA 的三大好處
- 成本優化:僅為實際使用的資源付費。
- 彈性調整:根據實時事件和需求,自動調整資源配置。
- 簡化管理:整合多種指標與工具,實現精準的資源管理。
實施縮減至零的考量
儘管縮減至零有助於降低成本,但也需要注意潛在的影響:
- 冷啟動延遲:當工作負載從零啟動時,可能會增加請求處理的延遲時間。
- 狀態管理挑戰:當實例終止時,內存中的數據可能會丟失,需做好狀態保存設計。
開始使用 KEDA 與 GKE 實現 Scale-to-Zero
透過 KEDA 與 GKE,企業能更高效地管理 Kubernetes 資源,並降低營運成本。現在就開始探索如何使用 KEDA 實現 Pub/Sub 和 Ollama 的縮減至零應用場景吧!
了解更多內容,請參考 KEDA 官方文件。讓您的雲端資源管理更智慧、更高效!