【问题标题】:Openshift Pod AutoscalingOpenshift Pod 自动缩放
【发布时间】:2020-02-12 17:48:49
【问题描述】:

我们有 Openshift 集群 3.11,我们在其中配置了 Horizo​​ntal Autoscaler:

Min Pods: 5 
Max Pods:10
Cpu Request Target: 80%

1) 我们有一个运行在 pod 中的 spring 应用程序,它将数据持久化到 mongodb。我观察到,当处理开始时,它确实增加了 pod 数量。但是,当 CPU 利用率较低时,它也会开始终止 pod。

我观察到,当 Pod 终止时,它不会考虑在该 Pod 上运行的任何处理。由于同样的原因,我发现很少有数据库记录丢失(即将从终止的 pod 中保存的记录):mongodb 集合计数。

2) 当我使用固定数量的 pod 运行时,我不会丢失数据。

如果 pod 上正在运行任何处理(例如异步数据库保存操作),是否有任何方法可以调整 Autoscaler 使其不会终止 pod

或者即使 CPU 利用率较低,也仅在特定持续时间后终止 pod?

【问题讨论】:

标签: spring kubernetes openshift autoscaling


【解决方案1】:

(quote) "...或者仅在特定持续时间后终止 pod,即使 CPU 利用率较低?" - 在PodSpec 中查看terminationGracePeriodSeconds

如果您可以控制应用程序并假设 shell 脚本启动应用程序,则您可以在 shell 脚本中执行一些处理以响应 SIGTERM(TERM 信号)以处理优雅终止。另见Termination of Pods

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 2021-03-04
    • 2021-01-26
    • 2019-08-07
    • 2023-04-01
    相关资源
    最近更新 更多