节点污点 Taint 和容忍度 Toleration在生产中的使用

本文详细介绍了如何在Kubernetes中通过设置节点污点(Taints)和配置容忍度(Tolerations)来管理Pod的调度策略,包括设置、查看、删除Taints,以及如何根据需求配置Toleration以确保Pod正确分配到指定节点。

目录

一、前言

二、节点设置taints

1、设置taint

2、查看taint

3、删除taint

三、配置toleration及测试

1、没配置tiant时,Pod正常调度

 2、配置taint时,不配置容忍度 toleration

 3、配置tolerations

四、总结


一、前言

在生产环境使用中,有时会遇到一些使用场景需求,当集群中存在多种节点类型的情况,如master节点、ssd硬盘类型的node节点,或者是高计算性能的node节点,这个时候,只想某些节点上只运行指定类型的pod,不想让其它pod调度到这些节点上,则可以使用节点污点(Taint)的方式,配合容忍度(Toleration),实现指定节点只运行特定类型的pod服务。

小结如下:

节点污点(Taint):使节点能够排斥特定的 Pod

容忍度(Toleration):应用于 Pod 上,允许Pod 调度到带有与之匹配的污点的节点上。

污点和容忍度(Toleration)相互配合,可以用来避免 Pod 被分配到不合适的节点上。 每个节点上都可以应用一个或多个污点,这表示对于那些不能容忍这些污点的 Pod,是不会被该节点接受的。


二、节点设置taints

1、设置taint

可以使用命令 kubectl taint 给节点增加一个污点

kubectl taint node [node] key=value[effect]   
     
# [effect] 可取值: 
      NoSchedule: 一定不能被调度
      PreferNoSchedule: 尽量不要调度
      NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod

Tips:
当节点维护并驱逐时,节点控制器会在相应的节点添加带有 NoExecute 效应的污点,实现基于污点的驱逐功能,一般来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值