由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 run
和docker run
也可以正常工作。
更新2019-01-18
恢复更改的时间轴后,我看到此特定容器已通过docker命令绕过kubernetes删除。
这可能以某种方式破坏了kubernetes的状态或某些东西。
经过大量搜索,询问和故障排除后,我仍然找不到确切的问题。因此,我不得不在分配了pod的节点上重新启动kubelet(systemctl restart kubelet
)。问题就解决了。
我希望了解如何检查kubernetes(或kubelet?)到底有什么问题,但找不到任何线索。在这种情况下,kubelet行为仍然是黑匣子。
答案 0 :(得分:1)
如alexar在更新中所述:
恢复更改的时间轴后,我看到此特定容器已通过docker命令绕过kubernetes删除。
这可能以某种方式破坏了kubernetes的状态或某些东西。
经过大量搜索,询问和故障排除后,我仍然找不到确切的问题。所以,我不得不重新启动kubelet(systemctl重启kubelet)在哪里吊舱分配的节点。问题就解决了。