首页 > 其他分享 >K8S节点配置资源驱逐

K8S节点配置资源驱逐

时间:2022-11-02 10:34:57浏览次数:61  
标签:驱逐 aliyuncs -- pod K8S 节点

当节点内存到达多少时。对节点的pod进行驱逐
[root@lecode-test-001 ~]# cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6 --eviction-soft=memory.available<4G --eviction-soft-grace-period=memory.available=2m --eviction-max-pod-grace-period=180"

常见驱逐策略
1、软驱逐
# 当内存小于1.5G
--eviction-soft=memory.available<1.5Gi
# 持续时间
--eviction-soft-grace-period=memory.available=2m30s

上面的含义是说,当节点内存小于1.5G,并持续时间长达2分30秒的时候,进行驱逐。


2、硬驱逐
如果说只有软驱逐的话,会不会有这么一种情况,在小于1.5G的时候,并没有在持续2分30秒,内存就消耗殆尽了,那样子我们的整个节点都容易出现故障,更别说上面运行的服务了。
所以需要搭配一个最低值,一旦到达哪个阈值,直接进行驱逐。
# 内存小于100M
# 磁盘小于1G
# cpu空余小于5%
--eviction-hard=memory.available<100Mi,nodefs.available<1G,nodefs.inodesFree<5%

满足以上任一条件,则立刻开始驱逐。


磁盘紧缺的驱逐
当磁盘剩余空间触发到上面的驱逐策略的时候,是按照什么顺序进行驱逐的呢?
1、删除死掉的容器、POD
2、删除无用的镜像
3、按优先级、资源占用情况驱逐POD
# 如果优先级一致,就找到占用资源最大的进行驱逐

内存紧缺的驱逐
当内存剩余容量触发到上面的驱逐策略的时候,又是按照什么顺序进行驱逐的呢?
1、驱逐不可靠的pod
2、驱逐基本可靠的pod
3、直接停掉占用内存最大的pod
4、驱逐可靠的pod

PS:比如说当node1资源满了,然后把POD-A停掉了,这个时候node2还有足够的资源,是会将POD-A从node2上启动。

配置在/var/lib/kubelet/kubeadm-flags.env

标签:驱逐,aliyuncs,--,pod,K8S,节点
From: https://www.cnblogs.com/anslinux/p/16850215.html

相关文章

  • 更换K8S证书可用期
    帮助文档:https://zealous-cricket-cfa.notion.site/kubeadm-k8s-24611be9607c4b3193012de58860535e解决:1.安装GO语言环境:[root@k8s-mastersoftware]#wgethttps://......
  • 记一次node节点无法加入K8S集群
    #问题现象:root@small-virtual-machine:~#kubeadmjoin10.0.0.133:6443--tokend2hyl5.5qt5fzjsdbxm2k5o   --discovery-token-ca-cert-hashsha256:d02674df33b......
  • Javascript进阶笔记 - DOM模型与节点
    DOM模型与节点目录DOM模型与节点1.DOM模型2.节点2.1节点的常用方法1.DOM模型DOM(文档对象模型)就是把文档中的标签,属性,文本转换成对象来管理(类似于Java中的对象)do......
  • 系统架构与设计(5)- Kubernetes(K8s)
    Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器管理/运维工具(容器编排器)。它是一套自动化容器管理/运维的开源平台,包括部署、调度和节点集群的扩展等。使......
  • 动力节点——day07
    什么是异常?异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序Java中异常的存在形式?异常在java中以类的形式存在,每一个异常类都可以创建异常......
  • Jenkins Pipeline 流水线 - 添加节点 使用代理
    Jenkins安装在Windows上Docker在Linux上流程将Docker在Jenkins节点中维护Pipeline中指定某些阶段使用哪个节点添加节点CheckingJavaversionint......
  • Jumpserver添加K8S集群管理
    为加强内部运维权限管控,现在内网搭建jumpserver用于权限管理,操作记录追踪,现将K8S管理纳入堡垒机。步骤如下:1.添加K8S集群管理权限的SA,并且绑定cluster-admin角色2.获取tok......
  • Docker不香吗?为什么还要用k8s
    其实Docker和k8s并非直接的竞争对手,它俩相互依存。Docker是一个容器化平台,而k8s是Docker等容器平台的协调器。虚拟化技术已经走过了三个时代,没有容器化技术的演......
  • 代码随想录算法训练营第四天 |24. 两两交换链表中的节点 19.删除链表的倒数第N个节点
    摆了两天,开始赶进度。一开始没太理解这个递归的含义,后来理解成了从后往前将链表两两拆分之后进行操作环型链表还不太理解缺面试题链表相交 24.两两交换链表中的节......
  • k8s.HPA.使用自定义指标Pod扩容
    k8s.HPA.使用自定义指标Pod扩容环境env:kubernetesv1.22metrics-server0.6.1prometheusv2.36.1prometheus-adapter.v0.10.0概述弹性伸缩1、资源层弹性,如......