如何处理常见的Pod问题?

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

ImagePullBackOff

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

可能原因:

  • 镜像名称无效,例如镜像名称拼写错误、镜像不存在。

  • 镜像标签无效,例如标签拼写错误、标签不存在。

  • 镜像属于私有仓库。

解决方案:

  • 更正镜像名称与标签。

  • 将镜像上传至阿里云镜像仓库。具体操作,请参见制作Java镜像

CrashLoopBackOff

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

可能原因:

  • 应用程序中存在错误,导致无法启动。

  • 未正确配置容器。

  • Liveness探针失败太多次。

解决方案:

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

处于未就绪状态的Pod

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

可能原因:

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

解决方案:

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