Kotlin 部署不是web应用程序的应用程序?库伯内特斯

Kotlin 部署不是web应用程序的应用程序?库伯内特斯,kotlin,kubernetes,deployment,Kotlin,Kubernetes,Deployment,我正在尝试向集群部署一个pod。我正在部署的应用程序不是web服务器。我对设置活跃度和准备度探测器有意见。通常,我会使用像/isActive和/buildInfo端点这样的东西来实现这一点 我读过这个 想知道我是否需要编写一个机制来创建一个文件,然后从deployment.yaml文件中探测它 编辑:这就是我用来保持容器运行的方法,不确定这是否是最好的方法 -touch/tmp/health;虽然真实;睡30分钟;完成仅为liveness探测器在应用程序中创建文件是没有意义的。在K8s文档中,这

我正在尝试向集群部署一个pod。我正在部署的应用程序不是web服务器。我对设置活跃度和准备度探测器有意见。通常,我会使用像/isActive和/buildInfo端点这样的东西来实现这一点

我读过这个

想知道我是否需要编写一个机制来创建一个文件,然后从deployment.yaml文件中探测它

编辑:这就是我用来保持容器运行的方法,不确定这是否是最好的方法


-touch/tmp/health;虽然真实;睡30分钟;完成

仅为liveness探测器在应用程序中创建文件是没有意义的。在K8s文档中,这只是一个示例,向您展示exec命令probe是如何工作的

活力探测器背后的理念是两部分的:

  • 在吊舱完全启动之前,避免在吊舱上出现交通堵塞
  • 检测由于缺少资源或应用程序主进程仍在运行的死锁而导致的无响应应用程序
  • 考虑到您的部署似乎不需要外部流量,您不需要在第一种情况下使用活动性探测器。关于第二种情况,问题是您的应用程序如何锁定,以及您将如何注意到外部情况,例如通过监视日志文件或类似文件


    请记住,K8s仍将监视应用程序主进程是否正在运行。所以,如果您的应用程序在没有活动性探测的情况下停止运行,那么在应用程序失败时重新启动仍然会发生。因此,如果您可以相当确定您的应用程序在运行时不会变得无响应,那么您也可以不使用liveness探测器。

    您的应用程序做什么?它是否使用其他协议响应请求?或者它在做什么?LivenessProbe主要是解决锁定或部分崩溃的情况。公平点锁定或其他原因的无响应也是一个担忧。我已相应地修改了我的答复。