如何诊断从未准备就绪的Kubernetes集群?

时间:2018-08-08 14:06:36

标签: docker kubernetes google-kubernetes-engine

我将映像部署到Kubernetes,但是即使经过几个小时,它也没有准备好。

$ kubectl get pods

NAME                            READY     STATUS             RESTARTS   AGE
myapp-b8dd974db-9jbsl    0/1       ImagePullBackOff   0          21m

这一切都发生在快速入门Hello app以及我自己的Docker映像中。

尝试附加失败。

$ kubectl attach -it  myapp-b8dd974db-9jbs

Unable to use a TTY - container myapp did not allocate one
If you don't see a command prompt, try pressing enter.
error: unable to upgrade connection: container 
   myapp not found in pod myapp-b8dd974db-9jbsl_default

尝试通过HTTP访问它失败。

在Stackdriver Logging中,我看到类似

的消息
skipping: failed to "StartContainer" for "myapp"
with ImagePullBackOff: "Back-off pulling image 
\"gcr.io/myproject/myapp-image:1.0\""

No such image

但是我确实部署了这些映像,并且Cloud Console显示吊舱是“绿色的”。

kubectl似乎告诉我该群集正常。

$ kubectl get service myapp
NAME           TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)          AGE
myapp   LoadBalancer   10.43.248.78   35.193.107.141   8222:31840/TCP   29m

我该如何诊断?

1 个答案:

答案 0 :(得分:6)

您可以使用kubectl describe myapp-b8dd974db-9jbsl在您的广告连播上获取更多信息。

但是从状态消息“ ImagePullBackOff”中,它可能正在尝试下载docker镜像并失败。

这可能是由于多种原因,您将通过kubectl describe获得更多信息,但可能是您无权访问该Docker存储库或image / image:tag不存在。