gpt4 book ai didi

mesos - 如何根据 apache marathon 的正常运行时间缩减实例?

转载 作者:行者123 更新时间:2023-12-01 13:31:13 25 4
gpt4 key购买 nike

我发现自己处于这样一种情况,我必须根据容器实例的实际生命周期缩减容器实例。在通过 Marathon 的 API 进行缩减时,似乎首先删除了新实例。 在缩减 apache marathon 上的实例时,是否有我不知道的任何配置来实现这种策略或政策?

截至目前,我正在使用 marathon-lb-autoscale自动调整运行实例的数量。但在幕后实际发生的是 marathon-lb-autoscale 确实执行了一个 PUT 请求,在请求时更新当前应用程序的 instances 属性/s 增加或减少。

scale_list.each do |app,instances|
req = Net::HTTP::Put.new('/v2/apps/' + app)
if !@options.marathonCredentials.empty?
req.basic_auth(@options.marathonCredentials[0], @options.marathonCredentials[1])
end
req.content_type = 'application/json'
req.body = JSON.generate({'instances'=>instances})
Net::HTTP.new(@options.marathon.host, @options.marathon.port).start do |http|
http.request(req)
end
end
end

我不知道 upgradeStrategy缩小实例时会考虑配置。使用默认设置,我无法获得预期的行为。

{
"upgradeStrategy": {
"minimumHealthCapacity": 1,
"maximumOverCapacity": 1
}
}

实际

  • 实例 1
  • 实例2
  • PUT/v2/apps/my-app {实例:3}
  • 实例 1
  • 实例2
  • 实例 3
  • PUT/v2/apps/my-app {实例:2}
  • 实例 1
  • 实例2

预计

  • 实例 1
  • 实例2
  • PUT/v2/apps/my-app {实例:3}
  • 实例 1
  • 实例2
  • 实例 3
  • PUT/v2/apps/my-app {实例:2}
  • 实例2
  • 实例 3

最佳答案

可以直接在应用程序的配置中指定 killSelection 并指定 YoungestFirst 首先杀死最年轻的任务或 OldestFirst 首先杀死最旧的任务.

引用:https://mesosphere.github.io/marathon/docs/configure-task-handling.html

关于mesos - 如何根据 apache marathon 的正常运行时间缩减实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45878639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com