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