将服务部署到Kubernetes / GKE时kubectl describe pod
表示出现以下错误(如图像成功拉出后发生):
{kubelet <id>} Warning FailedSync Error syncing pod,
skipping: failed to "StartContainer" for "<id>" with CrashLoopBackOff:
"Back-off 20s restarting failed container=<id>"
{kubelet <id>}
spec.containers{id} Warning BackOff restarting failed docker container.
我检查了pod正在执行的节点上的各种日志文件(例如/var/log/kubelet.log
和/var/log/docker.log
),但没有找到更具体的内容?
错误消息表示什么,以及如何进一步诊断和解决问题?
问题可能与安装PD有关。我可以成功docker run
来自Cloud Shell的映像(没有PD),并在将其添加到GCE VM实例后挂载PD。显然,它既不是由图像引起的,也不是由孤立的PD引起的。
答案 0 :(得分:0)
显然,PD的根本原因是PD不包含目录,该目录是在映像内运行的应用程序所需的符号链接的目标。这会导致应用程序终止并停止显示图像,这显然在显示的日志文件中报告为{{1}}。
创建目录后(通过将驱动器连接到单独的VM实例并将其安装在那里仅用于此目的)这个特定问题消失了(现在只有this一个):