【发布时间】:2019-10-22 14:34:42
【问题描述】:
我在 k8s 集群中有 3 个节点,所有节点都是主节点,即我已经删除了 node-role.kubernetes.io/master 污点。
我在foo2上物理移除了网线,所以我有
kubectl get nodes
NAME STATUS ROLES AGE VERSION
foo1 Ready master 3d22h v1.13.5
foo2 NotReady master 3d22h v1.13.5
foo3 Ready master 3d22h v1.13.5
几个小时后,一些 pod 仍在 STATUS = Terminating 中,但我认为它们应该在 Terminated 中?
我在https://www.bluematador.com/docs/troubleshooting/kubernetes-pod阅读
在极少数情况下,Pod 可能会卡在终止状态。这是通过查找每个容器已终止但 pod 仍在运行的任何 pod 来检测的。通常,这是由于集群中的一个节点突然停止服务,并且集群调度程序和控制器管理器没有清理该节点上的所有 pod。
解决这个问题就像使用 kubectl delete pod 手动删除 pod 一样简单。
吊舱描述说如果 5 分钟内无法访问将被容忍......
Conditions:
Type Status
Initialized True
Ready False
ContainersReady True
PodScheduled True
Volumes:
etcd-data:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
我尝试过刚刚挂起的kubectl delete pod etcd-lns4g5xkcw,尽管强制它确实按照answer工作...
kubectl delete pod etcd-lns4g5xkcw --force=true --grace-period=0
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "etcd-lns4g5xkcw" force deleted
(1) 为什么会这样?不应该改成终止吗?
(2) STATUS = Terminating 是从哪里来的?在https://v1-13.docs.kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ 我只看到等待/运行/终止作为选项?
【问题讨论】:
标签: kubernetes