无法使用自定义容器 GCP 进行部署
Posted
技术标签:
【中文标题】无法使用自定义容器 GCP 进行部署【英文标题】:Unable to deploy with custom container GCP 【发布时间】:2021-02-12 08:59:49 【问题描述】:我的图像是 11.4 GB。我正在尝试以下命令:
gcloud beta ai-platform versions create v1 \
--region=$REGION \
--model=$MODEL \
--machine-type=n1-highmem-2 \
--image=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/$IMAGE_NAME \
--ports=8000
它失败了:
Error: model server never became ready. Please validate that your model file or container configuration are valid, Error details: model server never became ready: status: "False" last_transition_time seconds: 1603932493 reason: "ContainersNotReady" message: "containers with unready status: [online-prediction-be-test85b70d-v1fb1b0606]" type: "ContainersReady"
即使我可以使用 docker run
在本地运行映像。我需要改变什么?
当我在未指定区域且详细程度设置为 DEBUG 的情况下运行时,我得到:
RecursionError: maximum recursion depth exceeded while calling a Python object
ERROR: gcloud crashed (RecursionError): maximum recursion depth exceeded while calling a Python object
The Python stack trace is massive (last couple of lines):
File "/googlecloudsdk/core/log.py", line 484, in ShowStructuredOutput
show_messages = properties.VALUES.core.show_structured_logs.Get()
File "/googlecloudsdk/core/properties.py", line 2380, in Get
value = _GetProperty(self, named_configs.ActivePropertiesFile.Load(),
File "/googlecloudsdk/core/properties.py", line 2679, in _GetProperty
value = _GetPropertyWithoutDefault(prop, properties_file)
File "/google-cloud-sdk/lib/googlecloudsdk/core/properties.py", line 2711, in _GetPropertyWithoutDefault
value = _GetPropertyWithoutCallback(prop, properties_file)
File "/google-cloud-sdk/lib/googlecloudsdk/core/properties.py", line 2741, in _GetPropertyWithoutCallback
for value_flags in reversed(invocation_stack):
【问题讨论】:
您可以尝试删除--region
标志吗?然后将--verbosity
添加到 debug 模式以获得有关错误的更详细信息。
【参考方案1】:
无法从您收到的此错误消息中理解任何内容,但是,
我猜 gcloud 无法对您的容器运行健康检查,
你能指定它:--health-route
看看吗?
【讨论】:
这不是答案。请使用 cmets 功能。 @SidKwakkel 不要认为他有评论的声誉。【参考方案2】:请在您的 http web 服务器中指定健康路由,并在上传模型时包含--container-health-route=/healthz
。例如,如果您使用 Flask 网络服务器,请确保在您的 Flask 应用程序中添加以下内容。
@app.route('/healthz')
def healthz():
return "OK"
Vertex AI 或 google ai 平台要求您在 http 网络服务器中指定健康检查例程。详细需求请参考this。
【讨论】:
以上是关于无法使用自定义容器 GCP 进行部署的主要内容,如果未能解决你的问题,请参考以下文章
部署到 Google Cloud Run 时 Docker 容器无法启动
无法使用自定义容器在 Google AI Platform 上加载动态库 libcuda.so.1 错误