Serverless 应用引擎 sae 突然报错 连接失败 是为什么?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Serverless 应用引擎(SAE)突然报错连接失败,可能由多种原因导致。以下是详细的排查步骤和解决方案:
SAE会根据容器是否成功启动来判断部署是否成功。如果容器启动失败或检测失败,可能会导致连接失败。
拉取镜像失败
在应用事件页面查找类似“Failed to pull image xxxxx failed”的错误信息。
容器启动失败
在应用事件或实时日志页面查看具体的错误信息。
健康检查失败是连接失败的常见原因之一。以下为排查步骤:
确认健康检查参数设置
检查健康检查的延迟时间、超时时间和检查周期是否合理。
检查健康检查命令
SAE的HTTP健康检查依赖容器内的curl
命令,TCP健康检查依赖telnet
命令。
查看应用事件
健康检查失败的具体原因通常会在应用事件中透出。结合基础监控(如CPU、Load、TCP连接数)进一步排查问题。
如果容器启动和健康检查均正常,但仍然报错连接失败,可能是网络连通性问题。
检查网络配置
测试连通性
在容器内部执行ping
和telnet
命令,测试与目标服务地址的连通性。
访问公网地址
如果需要访问公网中的服务地址,请参考相关文档《SAE应用如何访问公网?》。
如果您使用的是基于ARM架构(如M1、M2芯片的Mac电脑)构建的镜像,可能会导致镜像在SAE上运行失败。
-platform=linux/amd64
参数,指定镜像的编译平台为Linux/AMD64。docker buildx build -platform=linux/amd64 . -t container_name
删除Liveness健康检查配置
如果健康检查失败导致容器反复重启且无法进入Webshell,建议暂时删除Liveness健康检查配置,重新部署应用以确保程序能够启动。
查看实时日志
实时日志可以帮助您快速定位问题。重点关注容器启动阶段的日志输出,分析是否存在异常信息。
通过以上步骤,您可以逐步排查并解决SAE连接失败的问题。如果问题仍未解决,建议联系阿里云技术支持,提供详细的应用事件和实时日志以便进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。