0

可扩展组中容器的自动恢复选项如何工作?

我已启用它(通过使用 --auto 并在 Web UI 中显示 Autorecovery: On),但它在今天早上崩溃时并没有尝试重新启动容器。该组中的容器在 2015-09-29T05:51:27.187Z 死亡,并在一个多小时后在 2015-09-29T07:35:33.561Z 手动重启正在修复),直到用户尝试在应用程序中再次尝试相同的东西使其崩溃。

根据文档

要在组中的一个容器崩溃或变得不可用时启动新容器,启用自动恢复选项。如果不选择此选项,则不会自动启动新实例。

列在已知问题中:

自动恢复不是立即的

容器组的自动恢复可能需要超过 15 分钟才能使新系统上线。等待自动恢复可用,这可能需要 15 分钟以上。

4

2 回答 2

1

在 IBM Containers 服务中,自动恢复通过服务对您在启动容器组时指定的端口执行 http curl 来工作。如果该端口不响应 http curl,则服务假定它需要恢复,并将销毁该容器并重新创建它。

于 2015-10-22T20:08:07.497 回答
1

对于组中的每个容器,该服务将curl针对您在创建组时指定的端口运行请求。

如果容器由于某种原因没有响应,则服务会假定需要更换容器。因此,它将破坏该容器并在其位置创建一个新容器。

精美的印刷品

  1. 容器需要运行响应特定端口上的 http 请求的服务。
  2. 您在创建容器组时公开的端口必须与#1 中的端口相同。
  3. #1/#2 中的端口必须响应 http 请求,而不是https 请求。组的路由(例如https://example.mybluemix.net)是安全的,并且从路由到容器的内部流量也被加密,因此组中的容器不需要监听 https。
  4. 该服务每 2 分钟左右检查一次组中的每个容器。
  5. 粗略地说,如果服务必须在大约 10 分钟的时间内替换组中的每个实例超过 3 次,则该服务将从那时起停止拆除和恢复组中的实例。在 Bluemix 站点上,您可能会看到Autorecovery标签从On切换到Off。这是为了防止永远崩溃或始终无响应的容器的拆解和替换的永无止境的循环。
于 2015-10-22T21:38:32.913 回答