在 Google Cloud App Engine 上禁用默认健康检查
Disable default healthcheck on Google Cloud App Engine
我们是 运行 App Engine Flex 上的 .Net Core 应用程序。尝试禁用 healthcheck,它以相当高的速度命中我们的服务 ~72 reqs/sec:
这个 app.yaml 出于某种原因不会禁用健康检查:
env: flex
runtime: aspnetcore
vm_health_check:
enable_health_check: False
resources:
cpu: 12
memory_gb: 14.4
disk_size_gb: 20
automatic_scaling:
min_num_instances: 6
max_num_instances: 20
cool_down_period_sec: 180
cpu_utilization:
target_utilization: 0.5
有什么想法吗?
这个以前也出现过,没看到解决方法。似乎是 GAE 中的错误。这里有一些尝试:
1) 确保你没有一些后端实例(它使用它自己的 app.yaml)运行.
2) 尝试:
health_check:
enable_health_check: False
check_interval_sec: 60
timeout_sec: 4
unhealthy_threshold: 2
healthy_threshold: 2
3) 关闭您的实例并重新启动它们。
Modyfing app.yaml 以您所做的方式仅禁用一种类型的健康检查,后端仍然 运行 并且无法通过 app.yaml 配置访问它们。在 Google 的问题跟踪器中创建了两个与此主题相关的问题 - 您可以跟踪 and/or 为它们加注星标 here and here。
您可以做的是通过 Cloud Shell 修改健康检查,以降低它们的攻击性。部署启用健康检查的版本(如果您现在已禁用它们)并列出它们:
$ gcloud compute https-health-checks list
查看给定健康检查的当前设置:
$ gcloud compute https-health-checks describe [healthcheck_NAME]
更改名称以“-hcs”结尾的健康检查的设置:
$ gcloud compute https-health-checks update [healthcheck_NAME] --check-interval=5 --healthy-threshold=2 --timeout=5 --unhealthy-threshold=2
(显然你可以在上面的命令中选择不同的值)
您可以在 GCP 文档中找到上述命令 here。
您的 app.yaml 中有错字。您应该使用 health_check
而不是 vm_health_check
,如:
health_check:
enable_health_check: False
我们是 运行 App Engine Flex 上的 .Net Core 应用程序。尝试禁用 healthcheck,它以相当高的速度命中我们的服务 ~72 reqs/sec:
这个 app.yaml 出于某种原因不会禁用健康检查:
env: flex
runtime: aspnetcore
vm_health_check:
enable_health_check: False
resources:
cpu: 12
memory_gb: 14.4
disk_size_gb: 20
automatic_scaling:
min_num_instances: 6
max_num_instances: 20
cool_down_period_sec: 180
cpu_utilization:
target_utilization: 0.5
有什么想法吗?
这个以前也出现过,没看到解决方法。似乎是 GAE 中的错误。这里有一些尝试:
1) 确保你没有一些后端实例(它使用它自己的 app.yaml)运行.
2) 尝试:
health_check:
enable_health_check: False
check_interval_sec: 60
timeout_sec: 4
unhealthy_threshold: 2
healthy_threshold: 2
3) 关闭您的实例并重新启动它们。
Modyfing app.yaml 以您所做的方式仅禁用一种类型的健康检查,后端仍然 运行 并且无法通过 app.yaml 配置访问它们。在 Google 的问题跟踪器中创建了两个与此主题相关的问题 - 您可以跟踪 and/or 为它们加注星标 here and here。 您可以做的是通过 Cloud Shell 修改健康检查,以降低它们的攻击性。部署启用健康检查的版本(如果您现在已禁用它们)并列出它们:
$ gcloud compute https-health-checks list
查看给定健康检查的当前设置:
$ gcloud compute https-health-checks describe [healthcheck_NAME]
更改名称以“-hcs”结尾的健康检查的设置:
$ gcloud compute https-health-checks update [healthcheck_NAME] --check-interval=5 --healthy-threshold=2 --timeout=5 --unhealthy-threshold=2
(显然你可以在上面的命令中选择不同的值)
您可以在 GCP 文档中找到上述命令 here。
您的 app.yaml 中有错字。您应该使用 health_check
而不是 vm_health_check
,如:
health_check:
enable_health_check: False