are updated health checks causing App Engine deployment to fail?

喜欢而已 提交于 2020-08-01 06:27:47

问题


we updated our google app engine health checks from the legacy version to the new version using and now our deployments are failing. Nothing else on the project has changed. We tested the default settings and then extended checks just in case.

This is the error: ERROR: (gcloud.app.deploy) Error Response: [4] Your deployment has failed to become healthy in the allotted time and therefore was rolled back. If you believe this was an error, try adjusting the 'app_start_timeout_sec' setting in the 'readiness_check' section.

This is our app.yaml:

liveness_check:
   check_interval_sec: 120
   timeout_sec: 40
   failure_threshold: 5
   success_threshold: 5
   initial_delay_sec: 500

readiness_check:
  check_interval_sec: 120
  timeout_sec: 40
  failure_threshold: 5
  success_threshold: 5
  app_start_timeout_sec: 1500

Unfortunately, no matter the configuration, both the readiness and liveness checks are throwing 404s.

What could be causing the problem? and how can we debug this? Is it possible to rollback to the legacy health checks?


回答1:


This is usually caused when the application is still reading from the legacy health check flags and/or deploying the app using gcloud app deploy without enabling the updated health checks first. You can check this by:

1- Making sure the legacy health_check flag does not exist on your app.yaml.

2- Run gcloud beta app describe to see whether splitHealthChecks flag is set to true under featureSettings.

By default, HTTP requests from updated health checks are not forwarded to your application container. If you want to extend health checks to your application, then specify a path for liveness checks or readiness checks.

You can then enable updated health checks by using gcloud beta app update --split-health-checks --project [your-project-id]. See this public issue tracker or this article about Updated Health Checks about for more details.




回答2:


In my case, I solved this issue by manually increasing memory allocation?

resources:
    cpu: 1
    memory_gb: 2
    disk_size_gb: 10

Found this solution in a google forum: https://groups.google.com/forum/#!topic/google-appengine/Po_-SkC5DOE




回答3:


For those of you who want to migrate to the default settings for splitted health checks, follow these steps:

1) Remove health_check, liveness_check and readiness_check sections from your app.yaml file

2) Deploy to a newer version, This is important. So, for example, if your current version is production, change it to something else like prod in the command gcloud app deploy --version [new-version-name]



来源:https://stackoverflow.com/questions/46127236/are-updated-health-checks-causing-app-engine-deployment-to-fail

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!