【发布时间】:2020-11-01 04:21:58
【问题描述】:
我正在修改使用 HorizontalPodAutoscaler (HPA) 自动缩放的部署。此部署是管道的一部分,在该管道中,工作人员从 pubsub 订阅中读取消息,执行一些工作并发布到下一个主题。现在我使用 configmap 来定义部署的管道(configmap 包含输入订阅和输出主题)。 HPA 根据输入订阅上的消息数自动缩放。如果可能,我希望能够从配置映射中提取 HPA 的订阅名称?有没有办法做到这一点?
HPA 示例:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: my-deployment-hpa
namespace: default
labels:
name: my-deployment-hpa
spec:
minReplicas: 1
maxReplicas: 10
metrics:
- external:
metricName: pubsub.googleapis.com|subscription|num_undelivered_messages
metricSelector:
matchLabels:
resource.labels.subscription_id: "$INPUT_SUBSCRIPTION"
targetAverageValue: "2"
type: External
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
目前来自 HPA 的值 $INPUT_SUBSCRIPTION 理想情况下可以来自配置映射。
【问题讨论】:
-
不幸的是,你不能......但你可以使用 prometheus-adapter + HPA 。检查这个教程:itnext.io/…
-
@AbdennourTOUMI 谢谢。即使似乎您仍然会被绑定到在 HPA 的对象度量中对服务名称进行硬编码。如果 HPA 不能自行动态配置,那么我猜你是对的,而且这是不可能的。
-
@AbdennourTOUMI 请提供您的评论作为答案,因为它阐明了 HPA 可以/不能做什么。
标签: kubernetes google-kubernetes-engine google-cloud-pubsub