我有一个kubernetes集群,我试图从头开始构建,而不使用他们的构建脚本。几乎所有的东西都在工作,除了自动缩放。由于某些原因,控制管理器无法找到或不知道heapster正在运行。
我有一张票,但似乎没有React
https://github.com/kubernetes/kubernetes/issues/18652
更新:问题已在Github上得到解答
我已经安排好了。
这是目前所有pod的列表
[root@kube-master test] [dev] # kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default my-nginx-8kmlz 1/1 Running 0 11h
default my-nginx-z8cxb 1/1 Running 0 11h
kube-system heapster-v10-vdc1v 3/3 Running 0 11h
kube-system kube-apiserver-10.122.0.20 1/1 Running 0 4d
kube-system kube-controller-manager-10.122.0.20 1/1 Running 1 9h
kube-system kube-dns-6iw3a 4/4 Running 0 4d
kube-system kube-proxy-10.122.0.20 1/1 Running 0 3d
kube-system kube-proxy-10.122.42.163 1/1 Running 0 4d
kube-system kube-proxy-10.122.43.138 1/1 Running 1 4d
kube-system kube-scheduler-10.122.0.20 1/1 Running 1 4d
所以heapster在我的代理上运行我可以访问
http://10.122.0.20:8080/api/v1/proxy/namespaces/kube-system/services/heapster/api/v1/model/namespaces/default/pods/my-nginx-8kmlz/stats
它返回有关pod的统计信息。
我真的不知道我错过了什么。
下面是自动缩放的输出
[root@kube-master test] [dev] # kubectl get hpa
NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE
my-nginx ReplicationController/my-nginx/scale 80% <waiting> 1 5 22h
在我的控制器日志里我唯一能看到的就是
W1224 18:27:43.425126 1 horizontal.go:185] Failed to reconcile my-nginx: failed to compute desired number of replicas based on CPU utilization for ReplicationController/default/my-nginx: failed to get cpu utilization: failed to get CPU consumption and request: some pods do not have request for cpu
3条答案
按热度按时间xurqigkl1#
你需要在部署文件示例中为pod分配cpu请求/限制
资源:请求:CPU:“100m”
限制:CPU:“二百五十米”
mgdq6dx12#
请注意,自Kubernetes 1.13以来,
heapster
已被弃用。应替换为https://github.com/kubernetes-sigs/metrics-servern3schb8v3#
有时会发生这种情况,因为未启用资源度量。
可以使用
blow
命令验证:如果您正在获取pod,则启用了metrics:
https://kubernetes.io/docs/tasks/debug-application-cluster/resource-usage-monitoring/#resource-metrics-pipeline