Kubernetes吊舱卡在状态=节点进入状态后终止=未就绪?

Kubernetes吊舱卡在状态=节点进入状态后终止=未就绪?,kubernetes,Kubernetes,我在k8s集群中有3个节点,所有节点都是主节点,也就是说,我已经删除了节点角色.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 m

我在k8s集群中有3个节点,所有节点都是主节点,也就是说,我已经删除了
节点角色.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仍然处于
状态=终止
,尽管我认为它们应该处于
终止

我在学校读书

在极少数情况下,pod可能会卡在终止状态。这是通过查找每个容器都已终止但pod仍在运行的任何pod来检测的。通常,当集群中的一个节点突然停止服务,并且集群调度器和控制器管理器没有清理该节点上的所有POD时,会导致这种情况

解决此问题非常简单,只需使用kubectl delete pod手动删除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>
(1) 为什么会这样?应该改成终止吗


(2)
STATUS=termining
从何而来?目前,我只看到等待/运行/终止作为选项?

Pods卷和网络清理在
终止状态下会占用更多时间。
正确的方法是排空节点,以便在宽限期内成功终止POD。
由于您拔出了网络电缆,节点已将其状态更改为
未就绪
,POD已在其上运行。 由于此原因,pod无法终止

您可以从k8s文档中找到有关终止状态的信息,这些信息非常有用:

Kubernetes(1.5或更新版本)不会仅仅因为 节点不可访问。在无法访问的节点上运行的pod进入 超时后处于“正在终止”或“未知”状态。豆荚也可以进入 当用户尝试优雅地删除服务器上的Pod时,这些状态为 无法访问的节点:

有3种建议的方法可将其从apiserver中删除:

节点对象将被删除(由您或节点控制器删除)。 无响应节点上的kubelet开始响应,杀死Pod 并从apiserver中删除该条目。通过以下方式强制删除Pod: 用户


在这里,您可以找到更多关于从k8s删除背景的信息

是否可以用Kubernetes API修复?我的意思是,当其中一个节点没有准备好时,所有的东西都应该重新分配到不同的节点,这是一种直觉,这就是Kubernetes的观点,它应该自我治疗。当节点停机(由于网络问题或电源不足)时,它不会很快联机
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