2

我想知道我们的服务器设置必须采取的一种方法。我们有短命的豆荚。它们至少以 3 个 pod 启动,每个服务器都在等待它处理的单个请求 - 然后 pod 被销毁。我不确定这个 pod 被破坏的机制,但无论如何我的问题不在于这部分。

我正在设想一个“活动会话计数”指标。这些 pod 资源中的每一个都可以对我们将为集群创建的一些“指标”pod 进行休息调用。指标 pod 将公开一个sessionStartedsessionEnded端点 - 这将增加/减少 kubernetesactiveSessions指标。该指标将用于水平自动缩放所需的 pod 数量。

由于将 pod 设为“up”算作零活动会话,因此增加会话计数的自定义事件将使用 rest 调用更新度量服务器会话计数,然后在会话结束时再次减少(pod 启动并不表示是否或不是它有一个活动的会话)。

认为我需要这个度量服务器(并自己编写)是否正确?或者,Prometheus 是否在已经支持此类指标的地方公开了一些东西 - 其余客户端和所有(对于各种语言),可以修改这个指标?

寻找指导和确认我在正确的轨道上。谢谢!

4

1 回答 1

1

不可能只给出一种方法来解决这个问题,而且您的问题更“基于意见”。但是StackOverFlow 上有一个有用的类似问题,请查看可以给您一些提示的评论。如果没有任何效果,可能您应该编写脚本。Kubernetes 方面没有确切的解决方案。

还请考虑Apache Flink。它结合了 Kubernetes具有反应模式:

Reactive Mode允许以一种模式运行 Flink,在这种模式下,Application Cluster 总是将作业并行度调整为可用资源。结合 Kubernetes,TaskManager 部署的副本数决定了可用资源。增加副本数将扩大作业,减少它会触发缩小。这也可以通过使用Horizo​​ntal Pod Autoscaler 自动完成。

于 2021-10-13T11:46:00.490 回答