Kubernetes 如何使HPA基于另一个部署生成的度量来扩展部署
我试图实现的是创建一个水平吊舱自动缩放器,它能够根据Kubernetes 如何使HPA基于另一个部署生成的度量来扩展部署,kubernetes,horizontal-scaling,Kubernetes,Horizontal Scaling,我试图实现的是创建一个水平吊舱自动缩放器,它能够根据控制器吊舱生成的自定义指标缩放工人吊舱 我已经让普罗米修斯刮片、普罗米修斯Adapater、定制度量服务器全面运行,并使用由工人吊舱生产的定制度量我的控制器_度量扩展工人部署 现在,我的workerpod不再生成此指标,但控制器会生成此指标。 API autoscaling/v1似乎不支持此功能。如果需要,我可以使用autoscaling/v2beta1 API指定HPA 以下是我的HPA规格: apiVersion: autoscaling/
控制器吊舱生成的自定义指标缩放工人
吊舱
我已经让普罗米修斯刮片、普罗米修斯Adapater、定制度量服务器全面运行,并使用由工人
吊舱生产的定制度量我的控制器_度量
扩展工人
部署
现在,我的worker
pod不再生成此指标,但控制器会生成此指标。
API autoscaling/v1似乎不支持此功能。如果需要,我可以使用autoscaling/v2beta1 API指定HPA
以下是我的HPA规格:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: my-worker-hpa
namespace: work
spec:
maxReplicas: 10
minReplicas: 1
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: Deployment
name: my-worker-deployment
metrics:
- type: Object
object:
target:
kind: Deployment
name: my-controller-deployment
metricName: my_controller_metric
targetValue: 1
当使用kubectl apply-f my worker hpa.yml
应用配置时,我收到消息:
horizontalpodautoscaler "my-worker-hpa" configured
虽然这条消息似乎没有问题,但HPA不起作用。这个规格有问题吗
正如我所说,定制度量服务器中提供了一个kubectl get--raw”/api/Custom.metrics.k8s.io/v1beta1“| jq.|grep my_controller_metric
这是来自HPA的错误消息:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededGetScale the HPA controller was able to get the target's current scale
ScalingActive False FailedGetObjectMetric the HPA was unable to compute the replica count: unable to get metric my_controller_metric: Deployment on work my-controller-deployment/unable to fetch metrics from custom metrics API: the server could not find the metric my_controller_metric for deployments
谢谢 在您的案例中,问题是HPA配置:spec.metrics.object.target
还应指定API版本。
将apiVersion:extensions/v1beta1
放在spec.metrics.object.target
下应该可以修复它
此外,关于HPA中更好的配置验证还有一个悬而未决的问题: