首页 > 其他分享 >因磁盘压力而驱逐Pod

因磁盘压力而驱逐Pod

时间:2023-06-18 17:35:13浏览次数:54  
标签:驱逐 优先级 kubelet eviction 磁盘 Pod

k8s 1.15.0

问题现象

node2上产生磁盘压力前状态

node2上产生磁盘压力后guaranteed Pod和ds Pod被驱逐

nginx-deployment Pod被驱逐后容忍污点调度到node2,kubelet二次确认否决,继续驱逐

pkg/kubelet/eviction/eviction_manager.go
Admit方法
1. 接受关键Pod
2. 节点存在内存压力,接受qos非BestEffort的Pod
3. 节点存在内存压力,接受qos是BestEffort且可以容忍当前污点的Pod
4. 拒绝该Pod,Pod Phase设置为Failed

关键Pod

https://v1-22.docs.kubernetes.io/zh/docs/reference/command-line-tools-reference/feature-gates/
PodPriority默认开启

ExperimentalCriticalPodAnnotation已在1.13版本废弃,推荐优先级设置。

成为关键Pod的充分条件(满足之一即可)
1.开启PodPriority特性开关,设置Pod优先级达到20亿以上
2.开启ExperimentalCriticalPodAnnotation特性开关,kube-system命名空间下Pod带有注解scheduler.alpha.kubernetes.io/critical-pod且值是""
pkg/kubelet/types/pod_update.go
IsCriticalPod函数

验证高优先级Pod是否不会被驱逐

kube-system命名空间下设置了20亿优先级的Pod依然被驱逐

pkg/kubelet/eviction/eviction_manager.go
synchronize方法

对应kubelet日志

evictPod方法
只有Pod是关键Pod且是静态Pod,才不会被驱逐。

例如kube-apiserver这个静态Pod满足不驱逐的条件

参考资料

深入分析Kubernetes Critical Pod(二)

标签:驱逐,优先级,kubelet,eviction,磁盘,Pod
From: https://www.cnblogs.com/WJQ2017/p/17489383.html

相关文章

  • Raid 独立磁盘冗余阵列
    Raid存储的实现概念:RAID(RedundantArrayofIndependentDisks)即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。种类:Raid0:至少需要两块硬盘,磁盘越多,读写速度越快,没有冗余。......
  • 多个物理磁盘挂载到同一目录的方法 (lvm 软raid)
    多个物理磁盘挂载到同一目录的方法(lvm软raid)背景公司里面的一台申威3231的机器因为这个机器的raid卡没有操作界面.所以只能够通过命令行方式创建raid自己这一块比较菜,想着先尝试使用lvm的方式进行软raid挂载,也验证一下性能.所以写一些这个文章简单的结论虽然lv......
  • linux挂载新磁盘
    linux挂载新磁盘1.老系统查看1.1查看磁盘挂载情况#df-hFilesystemSizeUsedAvailUse%Mountedonudev3.8G03.8G0%/devtmpfs770M1.3M769M1%/run/dev/vda159G48G9.0G85%/tmpfs3.8G03.8G0%/dev/shmtmpfs5.0M05.0M0%/run/locktmpfs3.8G0......
  • 49 最佳实践-性能最佳实践-Nvme磁盘直通
    49最佳实践-性能最佳实践-Nvme磁盘直通49.1概述设备直通技术是一种基于硬件的虚拟化解决方案,通过该技术,虚拟机可以直接连接到指定的物理直通设备上。对于用户来说,如果需要提升虚拟机存储性能,可以采用将Nvme磁盘通过PCI直通技术直通给虚拟机的办法,从而获得更高的性能表现。......
  • rabbit MQ —— ha-sync-mode. message 同步/ 丢失 in new pods
    经典队列镜像—兔子MQ(rabbitmq.com) why?message信息同步=》queue一段时间不可用(可用性降低) ConfiguringSynchronisationLet'sstartwiththemostimportantaspectofqueuesynchronisation: whileaqueueisbeingsynchronised,allotherqueueoperati......
  • 基于MySQL 8.0从库磁盘满报13121错误的处理
    背景:基于GTID的从库服务器磁盘使用率100%,扩容磁盘后报错,开启复制,过一会就报错13121错误一.报错现象: Last_SQL_Errno:13121Last_SQL_Error:Relaylogreadfailure:Couldnotparserelaylogevententry.Thepossiblereasonsare:themaster'sbinarylogiscorrupted......
  • CKS 考试题整理 (05)-容器安全,删除特权pod
    context检查在namespaceproduction中运行的Pod,并删除任何非无状态或非不可变的Pod。task使用以下对无状态和不可变的严格解释:能够在容器内存储数据的Pod的容器必须被视为非无状态的。注意:你不必担心数据是否实际上已经存储在容器中。被配置为任何形式的特权Po......
  • K8S中pod状态详解
    Pod有以下几个状态:Pending等待中Running运行中Succeeded正常终止Failed异常停止Unkonwn未知状态Pod状态详解PendingPod已经被创建,但还没有完成调度,可能处在:写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending伴随的事件通常会有:ADDED,Modified这两个事件的......
  • Linux中/var/spool/postfix/maildrop/占用inode索引及磁盘空间解决办法
    问题表现和检查:1.运行df-i查看inode使用是否满;2.查看/var/spool/postfix/maildrop是否有非常多的小文件,ls直接卡死等情况;解决:1、清空/var/spool/postfix/maildrop/目录下的内容cd/var/spool/postfix/maildrop/ls|xargsrm-f2、不让系统再发垃圾邮件vi/etc/crontab;将......
  • 记一次ubuntu系统磁盘无法挂载之gdisk命令的使用
    可以使用fdisk-l查看到磁盘分区信息但实际上并未成功(base)root@ywb:~#fdisk-l......TheprimaryGPTtableiscorrupt,butthebackupappearsOK,sothatwillbeused.Disk/dev/sde:4.6TiB,5000981077504bytes,9767541167sectorsUnits:sectorsof1*51......