Openshift 4.x - 请求超过并发 属性 值
Openshift 4.x - Requests more than concurrency property value
我们使用 Openshift 4.x。对于 API,min pods 为 5,max 为 8。水平自动缩放是根据 avg 配置的。 CPU 利用率。 属性 haproxy.router.openshift.io/pod-concurrent-connections = '10' --> 将每个 Pod 的连接数限制为 10。如果我们向 Pod 发出更多请求会怎样?它是在队列中等待还是 pods 水平扩展?
以下是此 API 的路由中的当前配置:
haproxy.router.openshift.io/disable_cookies: 'true' haproxy.router.openshift.io/balance: roundrobin haproxy.router.openshift.io/pod-concurrent-connections: '10' haproxy.router.openshift.io/timeout: 50s
如果达到定义的 CPU 限制,HPA 将生成一个新的 pod,而不是基于连接数
因此,要回答您的问题“如果我们收到更多请求到 pod 会怎样?”,答案是
- 是的,如果那时每个 pod 的 10 个连接使 pods 消耗比 HPA 中定义的 CPU 限制更多的 CPU,
- 否则不会,因此请求将在 HAProxy 中排队
如果 CPU 超出定义的限制,HPA 也可能在此之前生成另一个 pod。 2 个指标(连接数和 CPU 消耗)在 k8s/OCP
的上下文中不相关
请记住,HPA 中定义的 CPU 限制是当时
所有 运行 pods 观察到的平均值 CPU
我们使用 Openshift 4.x。对于 API,min pods 为 5,max 为 8。水平自动缩放是根据 avg 配置的。 CPU 利用率。 属性 haproxy.router.openshift.io/pod-concurrent-connections = '10' --> 将每个 Pod 的连接数限制为 10。如果我们向 Pod 发出更多请求会怎样?它是在队列中等待还是 pods 水平扩展?
以下是此 API 的路由中的当前配置:
haproxy.router.openshift.io/disable_cookies: 'true' haproxy.router.openshift.io/balance: roundrobin haproxy.router.openshift.io/pod-concurrent-connections: '10' haproxy.router.openshift.io/timeout: 50s
如果达到定义的 CPU 限制,HPA 将生成一个新的 pod,而不是基于连接数
因此,要回答您的问题“如果我们收到更多请求到 pod 会怎样?”,答案是
- 是的,如果那时每个 pod 的 10 个连接使 pods 消耗比 HPA 中定义的 CPU 限制更多的 CPU,
- 否则不会,因此请求将在 HAProxy 中排队
如果 CPU 超出定义的限制,HPA 也可能在此之前生成另一个 pod。 2 个指标(连接数和 CPU 消耗)在 k8s/OCP
的上下文中不相关请记住,HPA 中定义的 CPU 限制是当时
所有 运行 pods 观察到的平均值 CPU