Azure AKS HPA无法获取cpu利用率

Azure AKS HPA无法获取cpu利用率,azure,kubernetes,autoscaling,azure-aks,Azure,Kubernetes,Autoscaling,Azure Aks,我在Azure中有一个使用AKS的单节点K8s集群。我使用一个简单的命令创建了一个部署和一个服务: kubectl运行php-apache--image=pilchard/hpa示例:最新--requests=cpu=200m,memory=300M--expose--port=80 并通过以下命令启用HPA: kubectl自动缩放部署php apache--cpu百分比=10--min=1--max=15 在运行kubectl descripe hpa php apache时,我看到一个错误

我在Azure中有一个使用AKS的单节点K8s集群。我使用一个简单的命令创建了一个部署和一个服务:

kubectl运行php-apache--image=pilchard/hpa示例:最新--requests=cpu=200m,memory=300M--expose--port=80

并通过以下命令启用HPA:
kubectl自动缩放部署php apache--cpu百分比=10--min=1--max=15

在运行
kubectl descripe hpa php apache
时,我看到一个错误:

horizontal-pod-autoscaler  unable to get metrics for resource cpu: unable to fetch metrics from API: the server could not find the requested resource (get pods.metrics.k8s.io)
horizontal-pod-autoscaler  failed to get cpu utilization: unable to get metrics for resource cpu: unable to fetch metrics from API: the server could not find the requested resource (get pods.metrics.k8s.io)
运行
kubectl get hpa
时,CPU指标未知。任何帮助都将不胜感激


我的AKS kube版本是
v1.9.11

您需要安装(已弃用)或最低限度安装才能使用

这提供了能够自动缩放的最小CPU和内存度量集。查看是否已安装的一个好方法是,如果从
kubectl top pod
获得此类输出:

$ kubectl top pod
NAME                        CPU(cores)   MEMORY(bytes)
http-svc-xxxxxxxxxx-xxxxx   1m           7Mi
myapp-pod                   0m           53Mi
sleep-xxxxxxxxxx-xxxxx      4m           27Mi

如果您添加了metrics server(这是最新请求的默认设置),请执行以下操作来修复它

kubectl edit deployment applicationName
在上面的cmd中,将appliationName替换为应用程序的名称,如果调用youre deployment.yml deploy,则也替换该名称,并在编辑模式下,在“terminationMessagePolicy”行之后添加以下内容

完成编辑后,按“esc”键并键入:wq您所做的更改将被保存,如果您这样做,几秒钟后将被保存

kubectl get hpa

您不应该看到任何错误,
请注意,要根据您的应用程序使用情况更改cpu限制和请求,它们只是这里的示例值

我认为您需要在aks上运行heapster才能正常工作。我已经通过
kubectl apply-f metrics server/deploy/1.8+//code>在我的集群上安装了
metrics服务器
,但仍然收到相同的错误。有什么想法吗?当你发布kubectl top pod时你看到了什么?我只看到了“php apache”pod你看到了什么指标吗?或者不,我试过Kubernetes版本
1.10.8
,它成功了。不知道AKS上的新版本有什么问题。
kubectl get hpa
kubectl describe hpa applicationName