我在AWS上有一个Kubernetes集群,它是由Kops启动的。 我认为最初是从v1.7.0开始的,但从那时起已更新为v1.9.10。
除水平吊舱自动缩放功能不起作用外,其他所有程序运行正常。
根据我设置的配置,错误已在以下两个之间切换。
“无法获取资源cpu的度量标准:没有从heapster返回的度量标准”
“无法获取资源cpu的度量:无法从API获取度量:服务器找不到请求的资源(获取pods.metrics.k8s.io)”
我知道较早的版本默认使用heapster,而较新的版本则使用指标API。
我尝试过单独安装度量标准和堆积器。安装了heapster后,我会在仪表板上看到额外的图形,因此看起来工作正常。
spec:
kubeControllerManager:
horizontalPodAutoscalerUseRestClients: true
关于此问题的大多数讨论都提到了上面的配置,该配置在所有的sterpster vs指标设置组合中都尝试过对与错。
kube-controller-manager 1.8。*的--horizontal-pod-autoscaler-use-rest-clients默认未设置,而1.9。*的默认设置为true。 因此,我的升级路径表明这很可能是相关的。
尝试了SO和google的其他建议,但无法将其全部撤回。
下面是HPA的YAML,不确定是否有其他输出可以帮助诊断此问题,但在需要时会进行其他更新。
{
"kind": "HorizontalPodAutoscaler",
"apiVersion": "autoscaling/v1",
"metadata": {
"name": "myappname-mobile-deployment",
"namespace": "myappname",
"selfLink": "/apis/autoscaling/v1/namespaces/myappname/horizontalpodautoscalers/myappname-mobile-deployment",
"uid": "a8cd45d0-02a4-11e9-9660-12306a211636",
"resourceVersion": "53939792",
"creationTimestamp": "2018-12-18T09:09:44Z",
"annotations": {
"autoscaling.alpha.kubernetes.io/conditions": "[{\"type\":\"AbleToScale\",\"status\":\"True\",\"lastTransitionTime\":\"2018-12-18T09:10:14Z\",\"reason\":\"SucceededGetScale\",\"message\":\"the HPA controller was able to get the target's current scale\"},{\"type\":\"ScalingActive\",\"status\":\"False\",\"lastTransitionTime\":\"2018-12-18T09:10:14Z\",\"reason\":\"FailedGetResourceMetric\",\"message\":\"the HPA was unable to compute the replica count: unable to get metrics for resource cpu: no metrics returned from heapster\"}]"
}
},
"spec": {
"scaleTargetRef": {
"kind": "Deployment",
"name": "myappname-mobile-deployment",
"apiVersion": "extensions/v1beta1"
},
"minReplicas": 1,
"maxReplicas": 5,
"targetCPUUtilizationPercentage": 30
},
"status": {
"currentReplicas": 1,
"desiredReplicas": 0
}
}