本文介紹在ACS集群中使用Knative時可能遇到的常見問題及對應的解決方案。
索引
阿里云Knative和社區開源Knative有什么差異
阿里云Knative在兼容開源Knative的基礎上進行了一系列產品能力的增強,包括運維、易用性、彈性、網關、事件驅動、監控告警等維度。具體信息,請參見阿里云Knative和開源Knative對比。
安裝Knative時,應該選擇哪種網關
阿里云Knative支持ALB、MSE、ASM和Kourier四種網關。ALB專注于應用層負載均衡場景;云原生網關MSE專注于微服務場景;ASM提供服務網絡(Istio)的能力。如果僅需要基礎的網關能力,可以選擇Kourier。更多信息,請參見Knative網關選型建議。
通過RAM用戶或角色使用Knative時,需要有什么權限
需要有訪問集群所有命名空間的權限。您可以按照以下流程完成授權。
登錄容器計算服務控制臺,在左側導航欄選擇授權管理。
單擊RAM 用戶頁簽,在RAM用戶列表,單擊目標RAM用戶對應的管理權限。
在添加權限區域,選擇待授權的集群,然后選擇命名空間為所有的命名空間,按照頁面提示完成授權。
Knative中的Pod需要多長時間會縮容至0
Pod開始縮容至0的時間主要取決于3個參數:
stable-window
:穩定窗口期。Pod真正縮容前會對此期間內的指標進行觀察和評估,而不會立即執行操作。scale-to-zero-grace-period
:縮容至0的超時時間。在此期間內,即使沒有新的請求,系統也不會立即停止或刪除最后一個Pod,以防突發流量請求。scale-to-zero-pod-retention-period
:縮容至0前最后一個Pod的保留時間,以便快速響應突發流量請求,無需從零啟動一個新的Pod。
Pod縮容至0需要滿足以下三個條件:
首先,在
stable-window
內沒有收到任何請求。其次,超過
scale-to-zero-pod-retention-period
設定的保留時間。最后,SKS(Serverless Kubernetes Service)切換到proxy模式的時間超過
scale-to-zero-grace-period
設定的時間,Pod開始縮容。
Pod縮容至0的保留時間不會超過stable-window + Max["scale-to-zero-grace-period", "scale-to-zero-pod-retention-period" ]
。如果需要強制為Pod設置一個縮容至0的保留時間,建議使用scale-to-zero-pod-retention-period
參數進行配置。
ACS Knative組件的Activator組件是否計費
計費。Activator組件為數據面組件,以Pod的形式運行,會占用您的實例資源。
Knative服務的監聽端口怎么配置
應用的監聽端口需要和Knative Service中containerPort
的端口一致,默認為8080。如需自定義監聽端口,請參見在Knative中配置自定義監聽端口。