k8s污点容忍度概念介绍

本文介绍了Kubernetes中的污点和容忍度概念,包括污点的4个字段及不同效果,如NoExecute、NoSchedule和PreferNoSchedule。同时,详细阐述了容忍度的应用及其匹配规则,并讨论了污点驱逐的机制。了解这些概念有助于更好地控制Pod的调度与运行。
摘要由CSDN通过智能技术生成

1. 概念介绍

污点(Taint) 应用于node身上,表示该节点有污点了,如果不能忍受这个污点的pod,你就不要调度/运行到这个节点上。如果是不能运行到这个节点上,那就是污点驱逐了。

容忍度(Toleration) 是应用于 Pod 上的。容忍度允许调度器调度带有对应污点的 Pod。或者允许这个pod继续运行到这个节点上。

可以看出来,污点和容忍度(Toleration)相互配合,可以用来避免 Pod 被分配/运行到不合适的节点上。 每个节点上都可以应用一个或多个污点,每个pod也是可以应用一个或多个容忍度。

2. 污点详解

污点总共由4个字段组成:

key, value字段:可以任意字符。这个可以自定义。

Effect:NoExecute,PreferNoSchedule,NoSchedule 三选一

  • NoExecute表示不能运行污点,意思是如果该节点有这种污点,但是pod没有对应的容忍度,那么这个pod是会被驱逐的

  • NoSchedule表示不能调度污点,意思是如果该节点有这种污点,pod没有对应的容忍度,那么在调度的时候,这个pod是不会考虑这个节点的

  • PreferNoSchedule 是NoSchedule的软化版。意思是如果该节点有这种污点,pod没有对应的容忍度,那么在调度的时候,这个pod不会优先考虑这个节点,但是如果实在没有节点可用,它还是接受调度到该节点上的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
污点容忍度Kubernetes中用来控制Pod调度的机制。污点(Taint)是指在节点上设置的一种属性,用于排斥一类特定的Pod。而容忍度(Toleration)是指在Pod上设置的属性,用于指定Pod是否可以被调度到具有匹配污点的节点上。 当一个节点上设置了污点时,只有那些在Pod的容忍度中定义了匹配该污点的规则的Pod才能被调度到该节点上。如果Pod没有定义容忍度或者容忍度不匹配节点上的污点,则该Pod将不会被调度到该节点上。 举个例子,假设我们在节点node1上设置了一个污点,key为k1,value为v1,effect为NoSchedule。如果一个Pod的容忍度中定义了匹配这个污点的规则,比如key为test,value为16,effect为NoSchedule,那么这个Pod就可以被调度到拥有这个污点的node1节点上。 总结来说,污点容忍度是相互匹配的关系。通过在节点上设置污点和在Pod上设置容忍度,我们可以控制Pod的调度行为,避免将Pod调度到不合适的节点上。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [k8s--基础--20--污点容忍度](https://blog.csdn.net/zhou920786312/article/details/126241579)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值