0

我在 Kubernetes 中部署了一个应用程序。我正在使用 Istio 服务网格。当发生特定错误时,我的一项服务需要重新启动。这是可以使用 Istio 实现的吗?

我不想使用 cronjob。此外,让应用程序重新启动本身似乎是一种反模式。

该应用程序是一个带有 fastify 的 node js 应用程序。

4

1 回答 1

1

Istio 是一个网络连接工具。当David Maze在评论中非常正确地提到时,我正在创建这个答案:

Istio 与此完全无关。如果集群可以检测到 pod 不可达,另一种方法可能是使用 Kubernetes活跃度探测;但是,如果您要在代码中添加活性挂钩,Kubernetes 文档也支持在不可恢复的故障时崩溃。

kubelet使用liveness probes 来了解何时重新启动容器。例如,活跃度探针可以捕获死锁,即应用程序正在运行,但无法取得进展。尽管存在错误,但在这种状态下重新启动容器有助于使应用程序更可用。

也可以看看:

于 2021-06-07T11:57:27.997 回答