Cloud Foundry:ERR在1m0s后超时:健康检查从未通过

Cse*_*epi 4 pivotal-web-services pivotal-cloud-foundry

我将我的应用程序部署到云代工厂后得到以下错误消息: ERR Timed out after 1m0s: health check never passed. 当然在我的本地机器上运行完美.

Yar*_*rix 18

您应该更改您的健康检查类型.如果应用程序未公开Web界面,则需要将healthcheck类型更改为process.有效值是port,processhttp.

要在创建或更新应用程序时配置运行状况检查,请使用cf push命令:

$ cf push YOUR-APP -u process

有关详细信息,请参阅运行状况检查文档:https: //docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html

  • 或者,将"health-check-type:process"添加到**manifest.yml**.而且,这似乎是正确的答案. (6认同)

ips*_*psi 7

根据评论中的讨论和我对您正在部署的实际应用程序的测试,看起来这个特定的应用程序需要一个年龄才能开始.可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序).

无论如何,虽然我不确定实际问题是什么(可能是PWS本身的一个问题),但这可以通过-t在执行推送时指定选项或将timeout: <int>属性添加到清单来解决(请参阅manifest文档) .


老答复

需要更多细节以确定,但我想有两件事情中的一件发生:

  • 您没有使用正确的端口.Cloud Foundry公开了它希望使用PORT(或pre-Diego VCAP_APP_PORT)环境变量部署应用程序的端口.默认为8080,因此如果您的应用程序未侦听8080(或绑定127.0.0.1而不是0.0.0.0),则运行状况检查将失败.
  • 您的应用程序不公开任何API端点,并且应该使用--no-routeCF 上的选项进行部署,并且(从Diego开始)需要cf set-health-check [app-name]针对它执行.只有在您的应用程序真正不需要健康检查时才应该这样做.

一些构建包可以自动为您处理第一个.您使用的是哪个构建包?或者,您使用的是哪种语言?

  • 这很可能是PWS问题.我将超时提升到3分钟,并观察到日志文件中发生的事情非常非常缓慢.我将删除该应用程序,将所有配置重置为您最初想要的内容并重新部署.即使它第一次失败,Cloud Foundry也会自动重启它直到它运行. (2认同)