2017-09-13 74 views
2

我試圖測試Kubernetes HPA像例如here橫向自潔牙機不報告CPU使用率

kubectl run php-apache --image=gcr.io/google_containers/hpa-example --requests=cpu=200m --expose --port=80 
kubectl autoscale deployment php-apache --cpu-percent=20 --min=1 --max=10 
kubectl get hpa 

輸出

NAME   REFERENCE    TARGETS   MINPODS MAXPODS REPLICAS AGE 
php-apache Deployment/php-apache <unknown>/20% 1   3   0   1h 

爲什麼不控制器經理能夠獲得當前使用?


環境的詳細信息:

  • K8S 1.7.3版與Heapster與服務運行在80端口,在 KUBE-系統。
  • InfluxDB設置爲沉,我可以在Grafana以及對Heapster API
  • 我可以看到在部署吊艙的YAML CPU請求(200米)看到正確的使用/限制 等。
  • 控制器管理器日誌中沒有錯誤。我看到的只有etcd手錶和pod創建消息。
  • 控制器清單中沒有指定「horizo​​ntal-pod-autoscaler-sync-period」,默認值應爲30秒。
  • 「hpa describe」沒有列出任何事件(「<無>」)。
  • 創建/刪除HPA不會創建任何登錄控制器管理器
  • 當我沒有安裝Heapster時,控制器管理器日誌會發生抱怨。我沒有看到安裝此消息Heapster:「

未能計算基於上市指標 的部署/ XX/PHP的Apache副本所需數量:未能獲取CPU使用率:無法 GET資源CPU指標:未能獲得莢資源指標:該 服務器不能在這個時候完成請求的操作,再試 後來(獲得服務的http:heapster :)


編輯1 [14-月]:

  • 我已上載的Heapster logs here。那裏沒有錯誤。
  • 我直接檢查了Heapster API的指標,我得到了迴應。

    curl http://10.107.55.59/api/v1/model/namespaces/cp/pods/php-apache-593471247-c65fh/metrics/cpu/usage

{ "metrics": [ { "timestamp": "2017-09-14T13:46:00Z", "value": 19008838 }, { "timestamp": "2017-09-14T13:47:00Z", "value": 19008838 }, { "timestamp": "2017-09-14T13:48:00Z", "value": 19008838 } ], "latestTimestamp": "2017-09-14T13:48:00Z" }

Grafana Screenshot for the pod. No limit was set, but that doesn't make any difference either.

回答

0

驗證,如果heapster是獲取數據,並給予指標,儘量KUBE-API的服務器上運行,下面,更換命名空間名稱和莢名在裏面。它會顯示指標,如果一切順利,還貼上heapster登錄這裏

捲曲http://localhost:8080/api/v1/model/namespaces/ {命名空間名稱} /莢/ {莢名} /度/