我可以使用一个应用程序的指标来自动扩展另一个应用程序吗?
Can I use metrics from one application to automatically scale a different one?
我目前在我的 kubernetes 集群中有一项服务 运行,它将我的指标导出到监控我的集群和服务的 prometheus。
我想使用此服务的指标来根据这些指标自动扩展 (hpa) 另一个服务。
这可以吗?
提前致谢!
我从未测试过您想做什么,但这里有一个关于如何使用自定义指标扩展广告连播的教程:https://docs.bitnami.com/kubernetes/how-to/configure-autoscaling-custom-metrics/
您可能需要做一些调整才能使用 pod 中的指标来缩放另一个,但我希望它能有所帮助。
要开始使用 custom HPA
,您需要在集群上安装一些东西:
- 启用Kubernetes Aggregator Layer
- 开始使用 metrics-server(而不是 heapster);
我成功了!
您可以在一个参数中选择缩放目标,然后在指标部分下选择不同服务的目标。
示例 yaml
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 5
metrics:
- type: Object
object:
target:
kind: Service
name: app-that-generates-metrics
metricName: my-metric
targetValue: 10
我目前在我的 kubernetes 集群中有一项服务 运行,它将我的指标导出到监控我的集群和服务的 prometheus。
我想使用此服务的指标来根据这些指标自动扩展 (hpa) 另一个服务。
这可以吗?
提前致谢!
我从未测试过您想做什么,但这里有一个关于如何使用自定义指标扩展广告连播的教程:https://docs.bitnami.com/kubernetes/how-to/configure-autoscaling-custom-metrics/
您可能需要做一些调整才能使用 pod 中的指标来缩放另一个,但我希望它能有所帮助。
要开始使用 custom HPA
,您需要在集群上安装一些东西:
- 启用Kubernetes Aggregator Layer
- 开始使用 metrics-server(而不是 heapster);
我成功了!
您可以在一个参数中选择缩放目标,然后在指标部分下选择不同服务的目标。
示例 yaml
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 5
metrics:
- type: Object
object:
target:
kind: Service
name: app-that-generates-metrics
metricName: my-metric
targetValue: 10