我有:
- 在 k8s 中部署服务 A 和 B
- 普罗米修斯堆栈
我想在服务 B 的度量 m1 更改时扩展服务 A。我发现但或多或少不适合的解决方案:
- 我可以使用规范的以下部分为服务 A 定义 HPA:
- type: Object
object:
metric:
name: m1
describedObject:
apiVersion: api/v1
kind: Pod
name: certain-pod-of-service-B
current:
value: 10k
从技术上讲,它会起作用。但它不适合 k8s 的动态特性。我也不能在 HPA 中使用 pods 指标(指标:-类型:Pods pods:),因为它会为服务 A 的 pod 请求 m1 指标(显然没有这个)
在 prometheus-adapter 中定义自定义指标,该指标从服务 B 的 pod 查询 m1 指标。它更合适,但看起来像解决方法,因为我已经有一个指标 m1
外部指标也是如此
我觉得我错过了一些东西,因为它看起来不像是一个不现实的案例:) 所以,请告诉我如何在 k8s 中按另一个服务的度量来扩展一个服务?