[英]HPA could not get CPU metric during GKE node auto-scaling
gcloud
在節點擴展期間,HPA無法獲取CPU指標。
同時, kubectl top pod
和kubectl top node
輸出為: Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)
有關更多詳細信息,我將向您顯示問題的發生流程:
Insufficient CPU
警報Insufficient CPU
,因此GKE嘗試逐步擴大節點規模。 kubectl top node
或kubectl top pod
沒有得到響應。 -這時找到一個或多個OutOfcpu
吊艙,並且有多個吊艙 ContainerCreating
(從Pending
狀態開始)。 這將導致吊艙縮放停止,並在響應客戶端請求時引發一些故障。 這正常嗎?
我認為,即使在節點擴展期間,HPA也應在運行的Pod上獲取CPU指標(或其他指標),以跟蹤當前的最佳Pod大小。 因此,在節點擴展完成后,HPA會立即創建必要的Pod(而不是增量創建)。
我可以使集群像這樣工作嗎?
也許您的節點用盡了一個內存或CPU資源,但是有一些配置映射描述了如何根據集群大小擴展插件。 您需要在kube-system名稱空間中編輯metrics-server-config配置映射:
kubectl edit cm/metrics-server-config -n kube-system
您應該添加
baseCPU
cpuPerNode
baseMemory
memoryPerNode
到NannyConfiguration, 在這里您可以找到廣泛的手冊:
同樣,heapster也遭受着相同的OOM問題:太多的Pod無法處理分配的資源中的所有指標,請相應地修改heapster的配置映射:
kubectl edit cm/heapster-config -n kube-system
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.