kubernetes 的 Taints and Tolerations(污点和耐性)

原创 2018年04月16日 23:02:38

功能
Taints and Tolerations 是pod的一个属性,它将允许某些pod在指定的节点上或者不允许指定的pod到指定节点上或者必须要有某些的pod才能调度到指定节点上

可以通过kubectl taint 来执行
例如

添加 Taints and Tolerations

kubectl taint nodes node1 key=value:NoSchedule

-------node1:节点名称
-------key 就是key
-------value 就是value 
-------效果是 NoSchedule
意思是说只有拥有: key=value:NoSchedule这个属性的pod才能调度到node1上

删除Taints and Tolerations

kubectl taint nodes node1 key:NoSchedule-

该属性是在PodSpec下,只有这个值才能被调度到node1上

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"
tolerations:
- key: "key"
  operator: "Exists"
  effect: "NoSchedule"

以上表示只有key=’key’ value=’value’ 或者 存在key=’key’的pod才会调度到node1上

Operator默认是Equal

tolerations:
- operator: "Exists"
这中情况 Exists的空键匹配所有的键,值和效果,这意味着这将容忍一切
tolerations:
- key: "key"
  operator: "Exists"
  匹配key="key"键关键字的所有效果。
kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule

pod要生成以下

tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoSchedule"
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoExecute"

未完待续

参考
taint-and-toleration

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21816375/article/details/79967605

深入kubernetes调度之Taints和Tolerations

本文主要介绍kubernetes的中调度算法中的Taints和Tolerations用法,实际上是对PodToleratesNodeTaints策略和TaintTolerationPriority策略...
  • tiger435
  • tiger435
  • 2017-06-23 17:13:30
  • 2132

kubernetes高级调度特性

Kubernetes的调度在大部分场景下工作良好-例如,它能够确保Pod运行在具有足够空闲资源的节点上,它试图在跨节点的在传播同一集合的Pod(ReplicaSet,StatefulSet,etc),...
  • ok875161027
  • ok875161027
  • 2017-04-07 09:34:32
  • 1775

Kubernetes1.6新特性:POD高级调度-污点和容忍特性/报告节点问题特性

(一)  核心概念Pod是kubernetes中的核心概念,kubernetes对于Pod的管理也就是对Pod生命周期的管理以及对Pod进行调度管理。Kubernetes早期版本使用系统默认调度器来对...
  • horsefoot
  • horsefoot
  • 2017-06-01 08:37:50
  • 11546

Kubernetes 1.6新特性系列 | 高级调度

作者注:这是深入Kubernetes 1.6特性系列的第四篇。 导读: Kubernetes 1.6高级调度的新特性主要集中在四个方面: Node的亲和性和反亲和性(Affinity/Anti-...
  • yan234280533
  • yan234280533
  • 2017-04-24 23:33:54
  • 2376

Taints and Tolerations

node affnity是一种pod选择node的资源(表述倾向或者强制约束),taint是相反的,taint和toleration协同工作从而防止pod调度到不恰当的节点名上面,一个或多个taint...
  • yevvzi
  • yevvzi
  • 2017-09-13 16:05:23
  • 530

在Kubernetes上部署Kibana和Logstash

在Kubernetes上部署Kibana和Logstash 因为在k8s上部署的应用越来越多,本地的四个虚拟机已经有点吃力,所以这一次使用Ansible安装的四节点K8S集群上实验。 ...
  • chenleiking
  • chenleiking
  • 2018-03-07 09:00:28
  • 153

Kubernetes(k8s)学习笔记1

Kubernetes架构以及核心组件
  • Lockey23
  • Lockey23
  • 2017-10-31 02:55:46
  • 301

module license 'unspecified' taints kernel解决

在驱动时出现module license 'unspecified' taints kernel,要加入MODULE_LICENSE("GPL");就不会出现这个错误。...
  • chenbang110
  • chenbang110
  • 2012-08-16 14:25:11
  • 2127

insmod时出现module license 'unspecified' taints kernel

insmod时出现module license 'unspecified' taints kernel
  • zanget
  • zanget
  • 2010-06-16 02:14:00
  • 3982

kernel module编程(一):建立一个小例子

  这是一个很简单的小例子hello world。也是《Linux Device Drivers》一书第二章的书读笔记。需要开发环境  为了使得内核模块可以编译,我们需要安装kernel-devel的...
  • flowingflying
  • flowingflying
  • 2009-07-23 10:20:00
  • 12361
收藏助手
不良信息举报
您举报文章:kubernetes 的 Taints and Tolerations(污点和耐性)
举报原因:
原因补充:

(最多只允许输入30个字)