Azure AKS HPA无法获取cpu利用率
我在Azure中有一个使用AKS的单节点K8s集群。我使用一个简单的命令创建了一个部署和一个服务: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时,我看到一个错误
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