StatefulSet中的Pod卡在ContainerCreating状态中-FailedCreatePodSandBox

时间:2019-01-11 16:13:57

标签: kubernetes

由StatefulSet控制的Pod处于ContainerCreating状态

kubectl获得豆荚

md-0                    1/1       Running             0          4h        10.242.208.59   node-5
md-1                    1/1       Running             0          4h        10.242.160.36   node-6
md-2                    0/1       ContainerCreating   0          4h        <none>          node-6

kubectl描述pod md-2

Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
...
Events:
  Type     Reason                  Age               From                                 Message
  ----     ------                  ----              ----                                 -------
  Warning  FailedCreatePodSandBox  2m (x68 over 4h)  kubelet, node-6  Failed create pod sandbox: rpc error: code = DeadlineExceeded desc = context deadline exceeded

kubectl描述statefulset md

Replicas:           3 desired | 3 total
Pods Status:        2 Running / 1 Waiting / 0 Succeeded / 0 Failed
...
Events:                         <none>

来自节点6的kubelet日志

RunPodSandbox from runtime service failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded
CreatePodSandbox for pod "md-2_exc(a995dd3d-158d-11e9-967b-6cb311235088)" failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded
createPodSandbox for pod "md-2_exc(a995dd3d-158d-11e9-967b-6cb311235088)" failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded
Error syncing pod a995dd3d-158d-11e9-967b-6cb311235088 ("md-2_exc(a995dd3d-158d-11e9-967b-6cb311235088)"), skipping: failed to "CreatePodSandbox" for "md-2_exc(a995dd3d-158d-11e9-967b-6cb311235088)" with CreatePodSandboxError: "CreatePodSandbox for pod \"md-2_exc(a995dd3d-158d-11e9-967b-6cb311235088)\" failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded"

我还有另外两个StatefulSet,它们可以按预期工作。由于某种原因,它已损坏。 直接kubectl rundocker run也可以正常工作。

更新2019-01-18

恢复更改的时间轴后,我看到此特定容器已通过docker命令绕过kubernetes删除。

这可能以某种方式破坏了kubernetes的状态或某些东西。

经过大量搜索,询问和故障排除后,我仍然找不到确切的问题。因此,我不得不在分配了pod的节点上重新启动kubelet(systemctl restart kubelet)。问题就解决了。

我希望了解如何检查kubernetes(或kubelet?​​)到底有什么问题,但找不到任何线索。在这种情况下,kubelet行为仍然是黑匣子。

1 个答案:

答案 0 :(得分:1)

alexar在更新中所述:

恢复更改的时间轴后,我看到此特定容器已通过docker命令绕过kubernetes删除。

这可能以某种方式破坏了kubernetes的状态或某些东西。

经过大量搜索,询问和故障排除后,我仍然找不到确切的问题。所以,我不得不重新启动kubelet(systemctl重启kubelet)在哪里吊舱分配的节点。问题就解决了。