【发布时间】:2018-09-24 23:24:41
【问题描述】:
我对 Kubernetes 很陌生,对 docker 不太了解。
我一直在研究这个示例,但我被自动缩放器卡住了(它似乎无法缩放)。
你会在底部找到构建
kubectl create -f https://k8s.io/docs/tasks/run-application/hpa-php-apache.yaml
看起来像这样
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: php-apache
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: php-apache
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 50
kubectl get hba 显示
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
php-apache Deployment/php-apache <unknown>/50% 1 10 0 7s
提示<unknown> 部分。
然后kubectl describe hba 显示
Name: php-apache
Namespace: default
Labels: <none>
Annotations: <none>
CreationTimestamp: Sat, 14 Apr 2018 23:05:05 +0100
Reference: Deployment/php-apache
Metrics: ( current / target )
resource cpu on pods (as a percentage of request): <unknown> / 50%
Min replicas: 1
Max replicas: 10
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale False FailedGetScale the HPA controller was unable to get the target's current scale: deployments/scale.extensions "php-apache" not found
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetScale 12s (x14 over 6m) horizontal-pod-autoscaler deployments/scale.extensions "php-apache" not found
然后我手动添加它...
kubectl run php-apache --image=k8s.gcr.io/hpa-example --requests=cpu=200m --expose --port=80
如果我再次运行kubectl describe hpa,我会收到此错误..
Name: php-apache
Namespace: default
Labels: <none>
Annotations: <none>
CreationTimestamp: Sat, 14 Apr 2018 23:05:05 +0100
Reference: Deployment/php-apache
Metrics: ( current / target )
resource cpu on pods (as a percentage of request): <unknown> / 50%
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: unable to fetch metrics from API: the server could not find the requested resource (get pods.metrics.k8s.io)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetScale 1m (x21 over 11m) horizontal-pod-autoscaler deployments/scale.extensions "php-apache" not found
Warning FailedGetResourceMetric 8s (x2 over 38s) 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)
Warning FailedComputeMetricsReplicas 8s (x2 over 38s) 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)
【问题讨论】:
-
您的集群中是否已启动并运行Heapster?您是否可以使用其他命令(例如
kubectl top pods)检索 Pod CPU 利用率? -
是的,全新的 Stackpoint 集群和 heapster 正在运行
-
我遇到了类似的问题。这解决了我的问题:stackoverflow.com/q/54106725/2291510