Kubernetes找不到度量服务器api.I。我在Mac上使用Kubernetes和Docker。我试着从下面的例子[https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/]中做HPA。但是,当我执行命令kubectl get hpa时,我的目标仍然未知。然后我试过了kubectl describe hpa这给了我类似如下的错误:
Name: php-apache
Namespace: default
Labels: <none>
Annotations: <none>
CreationTimestamp: Sun, 07 Oct 2018 12:36:31 -0700
Reference: Deployment/php-apache
Metrics: ( current / target )
resource cpu on pods (as a percentage of request): <unknown> / 5%
Min replicas: 1
Max replicas: 10
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededGetScale the HPA controller was able to get the target's current scale
ScalingActive False FailedGetResourceMetric the HPA was unable to compute the replica count: unable to get metrics for resource cpu: no metrics returned from resource metrics API
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedComputeMetricsReplicas 1h (x34 over 5h) horizontal-pod-autoscaler failed to get cpu utilization: unable to get metrics for resource cpu: no metrics returned from resource metrics API
Warning FailedGetResourceMetric 1m (x42 over 5h) horizontal-pod-autoscaler unable to get metrics for resource cpu: no metrics returned from resource metrics API我按照Kubernetes文档中的建议使用[https://github.com/kubernetes-incubator/metrics-server]。我也尝试过使用Minikube来做同样的事情。但这也不起作用。
运行kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes输出:
{
"kind": "NodeMetricsList",
"apiVersion": "metrics.k8s.io/v1beta1",
"metadata": {
"selfLink": "/apis/metrics.k8s.io/v1beta1/nodes"
},
"items": []
}发布于 2018-10-09 04:28:28
解决方案(如果使用Minikube):
将Kubernetes的上下文更改为Minikube。
启用指标- minikube中的服务器和禁用堆栈。
minikube addons disable heapster
minikube addons enable metrics-server
使用以下步骤在集群中部署metrics-server:
git clone https://github.com/kubernetes-incubator/metrics-server.git
cd metrics-server
kubectl create -f deploy/1.7/ (如果是Kubernetes版本1.7)
或
kubectl create -f deploy/1.8+/(如果Kubernetes版本为1.8+)
启动minikube dashboad和minikube service [your service]。
试试kubectl top node。
我发现这个(https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)资源很有帮助。
发布于 2021-03-20 02:19:03
运行此命令以创建metrics-server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.2/components.yaml然后重试此命令
kubectl top nodes您可以获得以下结果:
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% 发布于 2019-01-17 05:06:56
我知道这是一个迟来的答案,但我自己对Docker Kubernetes和Autoscaler有一些问题,在互联网上找不到好的答案。经过几天的调试,我发现metrics-server存在一些连接问题(无法连接到pods)。
我在metrics-server中关闭了TLS,它开始工作了。如果其他人遇到同样的问题,我在这里回复了我自己的帖子:
https://stackoverflow.com/questions/52694238
复制相似问题