更新时间:2024-11-22 GMT+08:00
分享

服务启动失败

问题现象

当服务事件中出现如下事件时,表示容器启动失败。

图1 服务启动失败

模型本身问题,无法启动

如果创建模型使用的镜像本身有问题,需要在创建模型之前,参考从0-1制作自定义镜像并创建AI应用,确保镜像可以正常启动,并可以在本地curl通返回预期内容。

镜像中配置的端口错误

模型可以正常启动,但是因为镜像中启用的端口非8080,或者镜像启用的端口与创建模型时配置的端口不一致,导致部署服务时register-agent无法与模型通信,超过一定时间后(最长20分钟)认为模型启动失败。

需要检查两个地方:自定义镜像中的代码开放的端口和创建模型界面上配置的端口。确认两处端口保持一致。模型创建界面如果不填端口信息,则ModelArts会默认监听8080端口,即镜像代码中启用的端口必须是8080。
图2 自定义镜像中的代码开放的端口
图3 创建模型界面上配置的端口

健康检查配置有问题

镜像如果配置了健康检查,服务启动失败,从以下两个方面进行排查:

  • 健康检查端口是否可以正常工作

    自定义镜像中配置了健康检查,需要在测试镜像时,同步测试健康检查接口是否可以正常工作,具体参考从0-1制作自定义镜像并创建AI应用中的本地验证镜像方法。

  • 创建模型界面上配置的健康检查地址与实际配置的是否一致

    如果使用的是ModelArts提供的基础镜像创建模型,健康检查URL默认必须为/health。

    图4 设置健康检查URL

模型推理代码customize_service.py编写有问题

如果模型推理代码customize_service.py编写有误,可以通过查看服务运行日志,定位具体原因进行修复。

拉取镜像失败

服务启动失败,提示拉取镜像失败,请参考服务部署、启动、升级和修改时,拉取镜像失败如何处理?

资源不足,服务调度失败

服务启动失败,提示资源不足,服务调度失败,请参考服务部署、启动、升级和修改时,资源不足如何处理?

内存不足

服务启动失败,提示内存不足,请参考内存不足如何处理?

相关文档