部署在Serverless应用引擎SAE(Serverless App Engine)上的应用运行时,可能会出现Pod问题。本文介绍常见的Pod问题以及处理方法。

ImagePullBackOff

SAE无法获取到Pod中某个容器的镜像时,将出现此错误。

可能原因:

  • 镜像名称无效,例如镜像名称拼写错误、镜像不存在。
  • 镜像标签无效,例如标签拼写错误、标签不存在。
  • 镜像属于私有仓库。

解决方法:

  • 更正镜像名称与标签。
  • 将镜像上传至阿里云镜像仓库。具体操作,请参见制作Java镜像

CrashLoopBackOff

如果容器无法启动,出现此错误。

可能原因:

  • 应用程序中存在错误,导致无法启动。
  • 未正确配置容器。
  • Liveness探针失败太多次。

解决方法:

您可以通过查看实时日志和事件分析失败原因,并修改相关配置。

处于未就绪状态的Pod

如果Pod正在运行但未就绪(not ready),则表示Readiness就绪探针失败。

可能原因:

当“就绪”探针失败时,Pod未连接到服务,并且没有流量转发到该实例。

解决方法:

登录Webshell,执行您自定义的就绪探针命令,查看Pod是否正常运行。如果不正常,您可以通过实时日志或事件对其进行分析。