Google app engine 为什么我的第一次部署可以工作,但所有后续部署都无法获得实例?

Google app engine 为什么我的第一次部署可以工作,但所有后续部署都无法获得实例?,google-app-engine,google-cloud-platform,Google App Engine,Google Cloud Platform,我有一个应用程序,它有几个服务-所有这些服务都会出现这种情况,但下面是数据开发服务的数据: 如果我将任何服务部署到一个空白项目(即,还没有具有该名称的服务的项目),它们都可以通过以下命令正常部署: gcloud-q app deploy app.yaml——推广 如果我随后对应用程序进行更改,并再次运行相同的命令-控制台将挂起更新服务[data dev](这可能需要几分钟)两个多小时-从未崩溃-没有错误 如果我进入服务并查看版本,会发现有“新”版本,但它们似乎从未被赋予运行实例-以下是我使用以下

我有一个应用程序,它有几个服务-所有这些服务都会出现这种情况,但下面是数据开发服务的数据:

如果我将任何服务部署到一个空白项目(即,还没有具有该名称的服务的项目),它们都可以通过以下命令正常部署:

gcloud-q app deploy app.yaml——推广

如果我随后对应用程序进行更改,并再次运行相同的命令-控制台将挂起更新服务[data dev](这可能需要几分钟)两个多小时-从未崩溃-没有错误

如果我进入服务并查看版本,会发现有“新”版本,但它们似乎从未被赋予运行实例-以下是我使用以下命令部署的一些版本,以便于在日志等中查找它们:

gcloud-q app deploy app.yaml--promote--version=devX

如果我查看这些版本中任何一个的日志,我会得到以下作为唯一条目:

更让人恼火的是,当我有所有这些事情“挂起”时,我不能删除服务,因为:

我必须严格地进入整个应用程序的设置,禁用它,等待15分钟所有服务关闭,然后重新启用它以删除单个服务-一旦我删除了服务,我就可以再次部署(一次)没有任何问题的东西-所有后续部署失败,如前所述

有人知道为什么会发生这种情况,或者知道如何调试吗?

这是应用程序。yaml

runtime: nodejs
env: flex
service: data-dev
manual_scaling:
  instances: 1

您可以通过转到日志并使用
resource.type=“gce\u instance”和“aef-”
(appeengineflex实例标有
aef-
)设置高级过滤器来检查GAE flex应用程序运行的实例的情况

在这里,您将看到实例正在执行的操作的更多细节,并且您将能够更好地调试正在进行的操作


通常,部署不成功(但允许部署)是因为实例未正确响应健康检查而被视为不健康,但是,您应该检查日志以了解更多详细信息。

您无法使其工作的原因是没有可用的实例-您正在为服务指定1,因此当您尝试部署另一个实例时,没有更多的实例可部署-您可以实现您想要的行为(即1个实例)使用以下app.yaml:

runtime: nodejs
env: flex
service: data-prod
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 20
  cpu_utilization:
    target_utilization: 0.7
您可以根据需要调整max_num_实例,但请确保有足够的实例用于部署