K8S污点容忍度调度
污点类型 | 解释(相当于做标签) |
---|---|
kubectl taint nodes node key=value:NoSchedule | 添加effect类型污点,新的pod不能调度过来,老的不影响 |
kubectl taint nodes node key=value:NoExecute | 添加effecf类型污点,新的pod不能调度过来,老的被驱除 |
kubectl taint nodes node key=value:PreferNoSchedule | 会尝试将pod分配到该节点 |
污点、容忍度
手动创建deployment
[root@ceshi-130 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public
伸缩副本为2,两台node都存在nginx-dp-xxx的pod
[root@ceshi-130 ~]# kubectl scale --replicas=2 deployment/nginx-dp -n kube-public
[root@ceshi-130 ~]# kubectl get pods -n kube-public -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-dp-5dfc689474-wkfn9 1/1 Running 0 25s 172.7.21.4 ceshi-130.host.com <none> <none>
nginx-dp-5dfc689474-zbgnp 1/1 Running 0 3m10s 172.7.22.2 ceshi-131.host.com <none> <none>
比如我们现在就不想让pod运行在某个node上
输出 yaml格式
[root@ceshi-130 ~]# kubectl get deployment nginx-dp -o yaml -n kube-public > nginx-dp.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:annotations:labels:app: nginx-dpname: nginx-dpnamespace: kube-public
spec:replicas: 2selector:matchLabels:app: nginx-dptemplate:metadata:labels:app: nginx-dpspec:containers:- image: harbor.od.com/public/nginx:v1.7.9imagePullPolicy: IfNotPresentname: nginx
伸缩一份,查看只有131节点存在,那就去130节点打污点
[root@ceshi-130 ~]# kubectl scale --replicas=1 deployment/nginx-dp -n kube-public
deployment.extensions/nginx-dp scaled
[root@ceshi-130 ~]# kubectl get pods -n kube-public -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-dp-5dfc689474-zbgnp 1/1 Running 0 11m 172.7.22.2 ceshi-131.host.com <none> <none>
节点 130
在130节点打污点
[root@ceshi-130 ~]# kubectl taint nodes ceshi-130.host.com defect=fat:NoSchedule
查看节点详细资源已经现在污点信息,此时不论将pod扩容几份pod都不会调度到130-node,因为130-node已经有污点新的pod不会在被调度
tolerations:容忍度
修改nginx-dp.yaml文件让他可以容忍污点(containers同一级对齐)
spec:tolerations:- key: defectvalue: fateffect: NoSchedulereplicas: 1
再次交付
[root@ceshi-130 ~]# kubectl apply -f nginx-dp.yaml
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
deployment.extensions/nginx-dp configured
扩容4台后查看可以被调度到污点node,因为yaml文件配置是tolerations,意思是可以容忍污点
可以将节点打多个污染
[root@ceshi-130 ~]# kubectl taint nodes ceshi-130.host.com cs=:NoSchedule
[root@ceshi-130 ~]# kubectl taint nodes ceshi-130.host.com cf=:NoSchedule
yaml配置也可以配置多个容忍度key(同spec下级containers同级配置),但是当node打污点为多个,yaml配置为一个时也不满足容忍度要求,同样不会被调度
spec:tolerations:- key: cseffect: NoSchedule- key: cfeffect: NoSchedule
nodeName
nodeName方式也是一种手动指定pod被调度到某个node的方法,比较简单直接
也是在spec下级和containers同级指定即可
spec:nodeName: ceshi-130.host.comcontainers:
两种方式简单来说:
前者是除了能容忍污点的pod会被调度进来,其他都不会被调度
后者是指定当前pod选择node,其他pod也会被调度到次node
K8S污点容忍度调度相关推荐
- k8s污点容忍度概念介绍
1. 概念介绍 污点(Taint) 应用于node身上,表示该节点有污点了,如果不能忍受这个污点的pod,你就不要调度/运行到这个节点上.如果是不能运行到这个节点上,那就是污点驱逐了. 容忍度(Tol ...
- 云原生kubernetes七 :Pod进阶篇:污点-容忍度-亲和性-Affinity-调度
1.pod资源清单详细介绍 #版本号 apiVersion: v1 #资源类型 kind: Pod #元数据 metadata:#Pod名字name: string#pod所属命名空间namespac ...
- Kubernetes 调度 - 污点和容忍度详解
当我们使用节点亲和力(Pod 的一个属性)时,它会将Pod吸引到一组节点(作为偏好或硬性要求).污点的行为完全相反,它们允许一个节点排斥一组 Pod. 在 Kubernetes 中,您可以标记(污染) ...
- k8s调度:亲和度、容忍度
k8s调度:亲和性调度.容忍度调度 一.实验环境及简介 1.1.实验环境 1.2.亲和性 1.3.污点和容忍度 二.节点亲和性调度 2.1.节点硬亲和性 2.2.节点软亲和性 三.Pod亲和度 3.1 ...
- 3.11 污点和容忍度
文章目录 一.污点和容忍度介绍 1.显示污点信息 2.显示容忍度信息 3.污点因子 二.污点应用 三.污点容忍度应用 上一章节介绍了,pod的调度方式有选择器.节点亲和性.pod亲和性和反亲和性,本章 ...
- 云原生之Kubernetes:24、污点和容忍度详解
文章目录 前言 1.概念引入 2.污点和容忍度配置 3.该如何配置? 4.内置污点 5.常用命令补充 6.实战:Taints and Tolerations 前言 Taint(污点)和Tolerati ...
- K8s 污点(Taints)与容忍(Tolerations)
概念 先来看一个容忍标记和污点标记的调度关系图: 与 亲和性(点击查看) 不同的是:Taints(污点)恰恰相反,它可以 Pod 不被调度到污点 Node,甚至将已经在污点中运行的 Pod 驱逐掉. ...
- Kubernetes 笔记(08)— Daemonset 产生缘由、yaml 描述、使用方法、污点和容忍度的定义及使用、静态 Pod
DaemonSet,它会在 Kubernetes 集群的每个节点上都运行一个 Pod,就好像是 Linux 系统里的"守护进程"(Daemon). 1. 产生缘由 Deployme ...
- 图解 K8S(06):调度利器之污点与容忍度(压力驱逐)
本系列教程目录(已发布): 图解 K8S(01):基于ubuntu 部署最新版 k8s 集群 图解 K8S(02):认识 K8S 中的资源对象 图解 K8S(03):从 Pause 容器理解 Pod ...
最新文章
- 获取系统时间精确到毫秒级C++代码实现
- C语言-程序运行效率总结及注意事项
- 牛客 - 树上求和(贪心+树形dp)
- iphone中怎么强制view重绘
- JAVA多线程,真的能提高效率吗
- java c语言 实现des算法_C语言实现DES算法
- eclipse中spring配置文件代码提示(全)
- sstap tun虚拟网卡没有安装_虚拟设备之TUN和TAP
- 数据分析融入至BI工具的新思路
- 详细介绍SWFUpload
- 好用的免费CMS网站模板源码下载推荐
- 使用ViewPager和RecyclerView实现微信表情包分页显示
- 每日一题:1.function Person(firstName, lastName) { this.firstName = firstName; this.lastName = lastNa
- 移动硬盘在计算机中不显示数据能恢复,移动硬盘无法访问提示'此卷不包含可识别的文件系统'怎么办?...
- 正规的伦敦金投资平台排行榜
- USB学习入门(三)------众里寻他千百度(windows)
- matlab磁场计算公式,利用MATLAB计算电磁场有关分布.doc
- 幸福工厂超级计算机有什么用,幸福工厂全替换配方简评
- apache mima 过滤器
- Markdown取消超链接的下划线