Taints和Tolerations
Taints和Tolerations和搭配使用的,Taints定义在Node节点上,声明污点及标准行为,Tolerations定义在Pod,声明可接受得污点。
可以在命令行为Node节点添加Taints:
kubectl taint nodes node1 key=value:NoSchedule
也可以直接在node的定义中修改annotations:
annotations:
scheduler.alpha.kubernetes.io/taints: '[{"key":"xxx","operator":"Equal","value":"yyy","effect":"NoSchedule"}]'
operator可以定义为:
- Equal 表示key是否等于value,默认
- Exists 表示key是否存在,此时无需定义value
effect可以定义为:
- NoSchedule 表示不允许调度,已调度的不影响
- PreferNoSchedule 表示尽量不调度
- NoExecute 表示不允许调度,已调度的在
tolerationSeconds(定义在Tolerations上)后删除
Node和Pod上都可以定义多个Taints和Tolerations,Scheduler会根据具体定义进行筛选,Node筛选Pod列表的时候,会保留Tolerations定义匹配的,过滤掉没有Tolerations定义的,过滤的过程是这样的:
- 如果Node中存在一个或多个影响策略为
NoSchedule的Taint,该Pod不会被调度到该Node - 如果Node中不存在影响策略为
NoSchedule的Taint,但是存在一个或多个影响策略为PreferNoSchedule的Taint,该Pod会尽量不调度到该Node - 如果Node中存在一个或多个影响策略为
NoExecute的Taint,该Pod不会被调度到该Node,并且会驱逐已经调度到该Node的Pod实例
Taints和Tolerations的更多相关文章
- Taints 与 Tolerations
节点亲和性是描述Pods如何分配到一个或一组节点的策略,亲和性的相关资料可以参考Kubernetes中的亲和性与反亲和性.与亲和性规则不同, Taints 描述节点拒绝一个或一组Pods的策略.其实现 ...
- K8S调度之Taints and Tolerations
Taints和Tolerations(污点和容忍) 在<K8S之节点亲和性>中,我们说到的的NodeAffinity节点亲和性,是在pod上定义的一种属性,使得Pod能够被调度到某些nod ...
- Kubernetes之Taints与Tolerations 污点和容忍
NodeAffinity节点亲和性,是Pod上定义的一种属性,使Pod能够按我们的要求调度到某个Node上,而Taints则恰恰相反,它可以让Node拒绝运行Pod,甚至驱逐Pod. Taints(污 ...
- 从相亲的角度理解 K8S 的 Node Affinity, Taints 与 Tolerations
这是昨天晚上阅读园子里的2篇 k8s 博文时产生的想法,在随笔中记录一下. 这2篇博文是 K8S调度之节点亲和性 与 K8S调度之Taints and Tolerations . 如果我们把 node ...
- Taints和Tolerations -- 污点- 容忍
1.taint 定义在node上,排斥pod 2.toleration定义在pod中,容忍pod 3.可以在命令行为Node节点添加Taints: kubectl taint nodes node1 ...
- Taints和Tolerations联用,将pod部署到k8s的master节点
一般,k8s的master为了保持高性能,在这个主节点上只运行一些管理必须的POD. 如果我们限于资源,或是一些监控类的pod要部署到master节点呢? 昨天遇到这个问题,按网上通用的方法,未解决, ...
- kubernetes进阶(02)kubernetes的node
一.Node概念 Node是Pod真正运行的主机,可以物理机,也可以是虚拟机. 为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt). kube ...
- kubernetes入门(07)kubernetes的核心概念(4)
一.pod 二.Volume volume可以为容器提供持久化存储,比如 三.私有镜像 在使用私有镜像时,需要创建一个docker registry secret,并在容器中引用.创建docker r ...
- K8S 高级调度方式
可以使用高级调度分为: 节点选择器: nodeSelector.nodeName 节点亲和性调度: nodeAffinity Pod亲和性调度:PodAffinity Pod反亲和性调度:podAnt ...
随机推荐
- bzoj2134
题解: 每一题对的概率为min(a[i],a[i+1])/a[i]/a[i+1]; 即可 代码: #include<bits/stdc++.h> using namespace std; ...
- RabbitMQ 基础类和概念讲解
转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼. ...
- ipvsadm命令介绍
为了更好的让大家理解这份命令手册,将手册里面用到的几个术语先简单的介绍一下: 1,virtual-service-address:是指虚拟服务器的ip 地址 2,real-service-addres ...
- 关于java的讲座有感
今天晚上闲着看了下李兴华老师的java + 大数据 讲座.做一个屌爆的全能型技术人才,感觉有点收获,有兴趣的可以看看 链接地址:https://study.163.com/course/introdu ...
- Ubuntu 16.04系统开机紫屏的解决办法
具体症状为卡在开机界面,按任何键都无反应. 网上查看了几篇文章 ,如下: 解决:ubuntu16.04启动时长时间停留在紫屏或跳文本的黑屏界面 Ubuntu16.04显卡驱动 电源管理 里面提到的开机 ...
- WebGL编程指南案例解析之绘制三角形
//案例3.绘制三角形,将顶点数据存到缓冲区对象(gl.ARRAY_BUFFER)中,然后顶点着色器从里面读数据(3个顶点) //顶点着色器中去掉gl_PointSize = 10.0,绘制三角不能设 ...
- 使用promise方式来获取网络数据
获取网络数据 let data = []; new Promise(function(resolve,reject){ axios.post('api.php').then(function(resp ...
- [C++/Python] 如何在Python中使用一个DLL? (Windows环境)
开发环境VS2012, WIN7 64. 首先生成的DLL大致如下: .h文件 #ifdef CVINPYTHON_EXPORTS #define CVINPYTHON_API __declspec( ...
- Jmeter监控服务器的CPU
1.Jmeter监控服务器的软件:链接: https://pan.baidu.com/s/1Ag75IXqR2XMe8RpZA4nvHg 密码: yki2 2.(1)Window版本 <1> ...
- 【linux】less &&more
命令 : less [文件名] ...