我正在尝试在我的Kubernetes群集中测试HPA(水平pod自动缩放)。 Heapster正在运行,我认为它很有效,因为我能够在Grafana中看到指标。此外,DNS插件工作正常。
查看HPA内部我可以看到错误"未能获得CPU消耗和请求:无法解组heapster响应:json:无法将对象解组为类型为[] v1alpha1.PodMetrics的#Go;"
$ kubectl describe hpa php-apache
Name: php-apache
Namespace: default
Labels: <none>
Annotations: <none>
CreationTimestamp: Wed, 10 Aug 2016 13:01:47 +0200
Reference: Deployment/php-apache
Target CPU utilization: 50%
Current CPU utilization: <unset>
Min replicas: 1
Max replicas: 10
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
36s 6s 3 {horizontal-pod-autoscaler } Warning FailedGetMetrics failed to get CPU consumption and request: failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.PodMetrics
36s 6s 3 {horizontal-pod-autoscaler } Warning FailedComputeReplicas failed to get CPU utilization: failed to get CPU consumption and request: failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.PodMetrics
Heapster的日志说:
$ kubectl logs --namespace=kube-system heapster-vf9h9 -c heapster
I0810 06:38:17.178683 1 heapster.go:66] /heapster --source=kubernetes:https://kubernetes.default --sink=influxdb:http://monitoring-influxdb:8086
I0810 06:38:17.178947 1 heapster.go:67] Heapster version 1.2.0-beta.0
I0810 06:38:17.179091 1 configs.go:60] Using Kubernetes client with master "https://kubernetes.default" and version v1
I0810 06:38:17.179100 1 configs.go:61] Using kubelet port 10255
E0810 06:40:24.467817 1 influxdb.go:217] issues while creating an InfluxDB sink: failed to ping InfluxDB server at "monitoring-influxdb:8086" - Get http://monitoring-influxdb:8086/ping: dial tcp 192.168.112.71:8086: getsockopt: connection timed out, will retry on use
I0810 06:40:24.467853 1 influxdb.go:231] created influxdb sink with options: host:monitoring-influxdb:8086 user:root db:k8s
I0810 06:40:24.467883 1 heapster.go:96] Starting with InfluxDB Sink
I0810 06:40:24.467892 1 heapster.go:96] Starting with Metric Sink
I0810 06:40:24.481233 1 heapster.go:175] Starting heapster on port 8082
I0810 06:41:05.129926 1 influxdb.go:209] Created database "k8s" on influxDB server at "monitoring-influxdb:8086"
I0810 11:02:45.357708 1 handlers.go:190] No metrics for pod default/php-apache-1272773798-rm4i0
I0810 11:02:45.426775 1 handlers.go:190] No metrics for pod default/php-apache-1272773798-rm4i0
我的群集有2个节点,主节点也是节点。 更多信息:
$ kubectl cluster-info
Kubernetes master is running at http://10.1.1.46:8080
Heapster is running at http://10.1.1.46:8080/api/v1/proxy/namespaces/kube-system/services/heapster
KubeDNS is running at http://10.1.1.46:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubernetes-dashboard is running at http://10.1.1.46:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
monitoring-grafana is running at http://10.1.1.46:8080/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"283137936a498aed572ee22af6774b6fb6e9fd94", GitTreeState:"clean", BuildDate:"2016-07-01T19:26:38Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.4", GitCommit:"dd6b458ef8dbf24aff55795baa68f83383c9b3a9", GitTreeState:"clean", BuildDate:"2016-08-01T16:38:31Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Heapster版本与Kubernetes版本之间存在问题吗?我今天做了Heapster的git克隆,所以它是最近的版本。
答案 0 :(得分:2)
您似乎正在使用不兼容的Heapster版本。请尝试使用此处定义的版本1.1.0:https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/cluster-monitoring/influxdb/heapster-controller.yaml