metrics-server組件是離線監控資料群組件,提供查看叢集離線監控資料功能。您在使用metrics-server組件遇到問題時,可參照下方FAQ排查。
kubectl top pod/node全部無資料
請按照以下方式進行預檢查。
執行以下命令,檢查metrics-server的API Service是否正常。
kubectl get apiservices
返回結果中
v1beta1.metrics.k8s.io
顯示True
,說明metrics-server的API Service是正常的。可選:如果metrics-server的API Service不正常,在metrics-server所在的Node節點上執行以下命令,檢查metrics-server的443連接埠與8082連接埠是否可以在叢集中正常訪問。
curl -v 127.0.0.1:8082/apis/metrics/v1alpha1/nodes
執行以上命令,能正常返回資料,說明metrics-server的443連接埠與8082連接埠可以在叢集中正常訪問。
可選:如果metrics-server的443連接埠與8082連接埠無法在叢集中正常訪問,重啟metrics-server。
您可以通過刪除metrics-server的Pod的方式重啟metrics-server。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在無狀態頁面頂部設定命名空間為kube-system,單擊metrics-server。
在容器組頁簽下,選擇metrics-server的Pod操作列下的更多>刪除,然後在對話方塊單擊確定。
按上述說明檢查後,沒有發現問題,請按照以下工單模板提交工單。
工單模板
API Service是否正常?
是
metrics-server 443與8082連接埠是否可達?
是
提供叢集ID。
kubectl top pod/node部分無資料
請按照以下方式進行預檢查。
檢查是特定的Node上所有Pod無資料,還是特定的Pod無資料。如果是特定的Node上所有Pod無資料,請檢查節點是否存在時區漂移,可以通過NTP伺服器的date命令進行時區校正。
檢查metrics-server Pod到特定的Node的10255連接埠的網路連通性。
按上述說明檢查後,沒有發現問題。請按照以下工單模板提交工單。
工單模板
單個Node上的Pod是否全部無資料?
是
節點時區是否有漂移?
無
metrics-server到指定節點的連通性是否可達?
是
HPA無法擷取metrics資料
請按照以下方式進行預檢查。
檢查對應的Pod執行kubectl top pod pod-id
的結果。如果資料異常,請參考上述kubectl top pod/node部分無資料和kubectl top pod/node全部無資料的檢查方法進行檢查。
按上述說明檢查後,沒有發現問題。請按照以下工單模板提交工單。
工單模板
監控資料是否有異常?
無
執行
kubectl describe hpa hpa-name
,提交中繼資料資訊。
滾動發布時HPA額外彈出多餘的Pod
請按照以下方式進行預檢查。
檢查metrics-server是否升級到了最新的版本。如果版本沒有問題,在kube-system命名空間下的metrics-server配置啟動參數。
--metric-resolution=15s
--enable-hpa-rolling-update-skipped=true
按上述說明檢查後,沒有發現問題。請按照以下工單模板提交工單。
工單模板
檢查metrics-server的版本是否為最新?
是
檢查配置參數是否已經增加防誤彈能力?
是
執行
kubectl describe hpa hpa-name
,提交HPA的描述。
相關文檔
關於metrics-server組件的介紹和發布記錄,請參見metrics-server。