k8s pod 状态 Evicted[通俗易懂]

k8s pod 状态 Evicted[通俗易懂]删除Evicted状态的pod[root@hadoop03kubernetes]#kubectlgetpods|grepEvicted|awk'{print$1}’|xargskubectldeletepodpod”glusterfs-2p28b”deleted[root@hadoop03kubernetes]#kubectldescribepodglusterfs-cpft7Name:glusterfs-cpft7N.

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述

删除 Evicted 状态的pod

[root@hadoop03 kubernetes]# kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
pod "glusterfs-2p28b" deleted

[root@hadoop03 kubernetes]# kubectl describe pod glusterfs-cpft7
Name:           glusterfs-cpft7
Namespace:      default
Priority:       0
Node:           hadoop01/
Start Time:     Tue, 11 Jan 2022 16:32:20 +0800
Labels:         controller-revision-hash=74d67c47f7
                glusterfs-node=daemonset
                pod-template-generation=1
Annotations:    <none>
Status:         Failed
Reason:         Evicted
Message:        Pod The node had condition: [DiskPressure].
IP:
IPs:            <none>
Controlled By:  DaemonSet/glusterfs
Containers:
  glusterfs:
    Image:        hadoop03:5000/gluster-centos:gluster3u12_centos7
    Port:         <none>
    Host Port:    <none>
    Liveness:     exec [/bin/bash -c systemctl status glusterd.service] delay=60s timeout=3s period=10s #success=1 #failure=3
    Readiness:    exec [/bin/bash -c systemctl status glusterd.service] delay=60s timeout=3s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-ckvvw (ro)
Volumes:
  kube-api-access-ckvvw:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              storagenode=glusterfs
Tolerations:                 node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                             node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/network-unavailable:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists
                             node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                             node.kubernetes.io/unreachable:NoExecute op=Exists
                             node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
  Type     Reason     Age    From               Message
  ----     ------     ----   ----               -------
  Normal   Scheduled  2m56s  default-scheduler  Successfully assigned default/glusterfs-cpft7 to hadoop01
  Warning  Evicted    2m56s  kubelet            The node had condition: [DiskPressure].
[root@hadoop03 kubernetes]#

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
–eviction-hard=nodefs.available<10%

[root@hadoop03 kubernetes]# cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --eviction-hard=nodefs.available<10%"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS

在这里插入图片描述

原因:资源不足时导致的驱赶

参考:https://www.jianshu.com/p/29bebed74eda
https://www.cnblogs.com/ainimore/p/12757867.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145433.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • linux经典教程_三阶魔方初级入门教程详细图解

    linux经典教程_三阶魔方初级入门教程详细图解一、Linux常用命令1.文件处理命令1.1目录处理命令1.2文件处理命令1.3链接命令2.权限管理命令2.1权限管理命令chmod2.2其他权限管理命令3.文件搜索命令3.1文件搜索命令find3.2其他文件搜索命令4.帮助命令4.1帮助命令5.用户管理命令5.1用户管理命令6.压缩解压命令6.1压缩解压命令7.网络命令7.1网络命令8.关机重启命令8.1关机重启命令二、文本编辑器-Vim…

    2022年10月13日
  • 线程 、进程、协程 三者区别

    线程 、进程、协程 三者区别

    2021年11月10日
  • G-Sync 与 FreeSync : 显示器的未来

    G-Sync 与 FreeSync : 显示器的未来如果你经常关注显示器,或是爱在电脑上玩游戏/看电影,那么你可能需要了解以下两个最新的技术:Nvidia的G-Sync以及AMD的FreeSync。

  • eval在python中是什么意思_如何在Python中使用eval ?

    eval在python中是什么意思_如何在Python中使用eval ?Python中的eval是什么?在Python中,我们有许多内置方法,这些方法对于使Python成为所有人的便捷语言至关重要,而eval是其中一种。eval函数的语法如下:eval(expression,globals,locals)如上所示,eval函数采用三个参数:expression–需要一个字符串,该字符串将被解析并评估为Python表达式globals(可选)–一个字典,用于指定…

  • 计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案…「建议收藏」

    计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案…「建议收藏」有关win10系统提示由于该设备有问题windows已将其停止(代码43)的操作方法想必大家有所耳闻。但是能够对win10系统提示由于该设备有问题windows已将其停止(代码43)进行实际操作的人却不多。其实解决win10系统提示由于该设备有问题windows已将其停止(代码43)的问题也不是难事,小编这里提示两点:1、双击unknowndevice查看是否出现如下代码由于该设备有问题,wi…

  • 775针最好的cpu天梯图_英特尔处理器排名天梯图

    775针最好的cpu天梯图_英特尔处理器排名天梯图E7500是第一代酷睿双核cpu,采用LGA775接口,目前属于低端入门水平,已经淘汰。这款cpu可以满足GTA4的配置要求,可以比较流畅的运行这款游戏。GTA4配置要求.E7500是酷睿2代的中高端双核,在产品线来说是一款中档次产品。酷睿i3是第一代i系列中的入门级双核,性能虽然普遍比上一代产品的定位提升了不少,但和E7500基本.酷睿2系列和奔腾4有啥性能区别?差别大吗?肯定有差距,我使用7…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号