Kubernetes HPA 是如何工作的?
How Kubernetes HPA works?
我正在尝试将 Horizontal Pod Autoscaling (HPA) 添加到我的 Kubernetes 部署中。我的应用程序由 5 个连接在它们之间的微服务组成。我有一个 NodePort(Traefik 服务)负责控制来自外部的流量。
该调用是一个 HTTPS POST,它发送一个由应用程序处理的 csv 文件。它可以通过命令行或使用网络应用程序 (UI) 发送。 curl 命令将类似于:
curl https://our_app_name -X POST -F "file=@test.csv"
我对 HPA 的功能有以下疑问,
HPA 如何在副本之间分配调用? Kubernetes 是否能够并行计算,即在副本之间划分调用或每个调用只转到一个副本?
一个副本可以同时参加多个通话吗?
在 HPA 规范中,例如这里:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
这 50% 是多少?它是 pod 还是集群的 CPU 的 50%?
在此先感谢您的帮助!
- 每个调用只转到 pod 的一个副本
- 您可以通过 ingress/service 向 pod 发送尽可能多的请求,但它最终会到达 pod 的副本之一
- with
averageUtilization: 50
HorizontalPodAutoscaler 将尝试确保每个 pod
消耗其 requested
CPU
的大约 50%
。这不是节点的CPU。
我正在尝试将 Horizontal Pod Autoscaling (HPA) 添加到我的 Kubernetes 部署中。我的应用程序由 5 个连接在它们之间的微服务组成。我有一个 NodePort(Traefik 服务)负责控制来自外部的流量。 该调用是一个 HTTPS POST,它发送一个由应用程序处理的 csv 文件。它可以通过命令行或使用网络应用程序 (UI) 发送。 curl 命令将类似于:
curl https://our_app_name -X POST -F "file=@test.csv"
我对 HPA 的功能有以下疑问,
HPA 如何在副本之间分配调用? Kubernetes 是否能够并行计算,即在副本之间划分调用或每个调用只转到一个副本?
一个副本可以同时参加多个通话吗?
在 HPA 规范中,例如这里:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
这 50% 是多少?它是 pod 还是集群的 CPU 的 50%?
在此先感谢您的帮助!
- 每个调用只转到 pod 的一个副本
- 您可以通过 ingress/service 向 pod 发送尽可能多的请求,但它最终会到达 pod 的副本之一
- with
averageUtilization: 50
HorizontalPodAutoscaler 将尝试确保每个pod
消耗其requested
CPU
的大约50%
。这不是节点的CPU。