学习笔记十八:污点、容忍度
污点、容忍度
- 污点、容忍度
- 管理节点污点
- 把k8snode2当成是生产环境专用的,其他node是测试的
- 给k8snode1也打上污点
污点、容忍度
- 给了节点选则的主动权,我们给节点打一个污点,不容忍的pod就运行不上来,污点就是定义在节点上的键值属性数据,可以定决定拒绝那些pod;
- taints是键值数据,用在节点上,定义污点;
- tolerations是键值数据,用在pod上,定义容忍度,能容忍哪些污点
- pod亲和性是pod属性;但是污点是节点的属性,污点定义在k8s集群的节点上的一个字段
kubectl explain node.spec.taints
KIND: Node
VERSION: v1
RESOURCE: taints <[]Object>
DESCRIPTION:If specified, the node's taints.The node this Taint is attached to has the "effect" on any pod that doesnot tolerate the Taint.
FIELDS:effect <string> -required-key <string> -required-timeAdded <string>value <string>taints的effect用来定义对pod对象的排斥等级(效果):NoSchedule:
仅影响pod调度过程,当pod能容忍这个节点污点,就可以调度到当前节点,后来这个节点的污点改了,加了一个新的污点,使得之前调度的pod不能容忍了,那这个pod会怎么处理,对现存的pod对象不产生影响NoExecute:
既影响调度过程,又影响现存的pod对象,如果现存的pod不能容忍节点后来加的污点,这个pod就会被驱逐PreferNoSchedule:
最好不,也可以,是NoSchedule的柔性版本
查看master这个节点是否有污点,显示如下:
kubectl describe nodes k8smaster1
Taints: node-role.kubernetes.io/control-plane:NoSchedule
上面可以看到master这个节点的污点是Noschedule
所以我们创建的pod都不会调度到master上,因为我们创建的pod没有容忍度
kubectl describe pods kube-apiserver-k8smaster1 -n kube-system
显示如下:
Tolerations: :NoExecute op=Exists
可以看到这个pod的容忍度是NoExecute,则可以调度到k8smaster1上
管理节点污点
kubectl taint –help
把k8snode2当成是生产环境专用的,其他node是测试的
给k8snode2打污点,pod如果不能容忍就不会调度过来
kubectl taint node k8snode2 node-type=production:NoSchedule
vim pod-taint.yaml
apiVersion: v1
kind: Pod
metadata:name: taint-podnamespace: defaultlabels:tomcat: tomcat-pod
spec:containers:- name: taint-podports:- containerPort: 8080image: tomcat:8.5-jre8-alpine
imagePullPolicy: IfNotPresent
kubectl apply -f pod-taint.yaml
kubectl get pods -o wide
显示如下:
taint-pod running k8snode1
可以看到都被调度到k8snode1上了,因为k8snode2这个节点打了污点,而我们在创建pod的时候没有容忍度,所以k8snode2上不会有pod调度上去的
给k8snode1也打上污点
kubectl taint node k8snode1 node-type=dev:NoExecute
kubectl get pods -o wide
显示如下:可以看到已经存在的pod节点都被撵走了
taint-pod termaitering
vim pod-demo-1.yaml
apiVersion: v1
kind: Pod
metadata:name: myapp-deploynamespace: defaultlabels:app: myapprelease: canary
spec:containers:- name: myappimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80tolerations:- key: "node-type"operator: "Equal"value: "production"effect: "NoExecute"tolerationSeconds: 3600
kubectl apply -f pod-demo-1.yaml
kubectl get pods
myapp-deploy 1/1 Pending 0 11s k8snode2
还是显示pending,因为我们使用的是equal(等值匹配),所以key和value,effect必须和node节点定义的污点完全匹配才可以,把上面配置effect: "NoExecute"变成effect: “NoSchedule”;
tolerationSeconds: 3600这行去掉
修改后重新生成pod
kubectl delete -f pod-demo-1.yaml
kubectl apply -f pod-demo-1.yaml
kubectl get pods
myapp-deploy 1/1 running 0 11s k8snode2
上面就可以调度到k8snode2上了,因为在pod中定义的容忍度能容忍node节点上的污点
删除污点:
kubectl taint nodes xianchaonode1 node-type:NoExecute-
kubectl taint nodes xianchaonode2 node-type-
相关文章:
学习笔记十八:污点、容忍度
污点、容忍度 污点、容忍度管理节点污点把k8snode2当成是生产环境专用的,其他node是测试的给k8snode1也打上污点 污点、容忍度 给了节点选则的主动权,我们给节点打一个污点,不容忍的pod就运行不上来,污点就是定义在节点上的键值属…...
amis百度前端框架,在js中使用amis写json转页面
amis百度前端框架,在js中使用用amis写的json页面 1.在项目中使用百度 amis 的sdk做开发库。 <script src="./sdk/sdk/sdk.js"></script> 2。加载sdk中的库: amis = amisRequire(amis/embed);amisLib = amisRequire(amis);const match = amisRequire…...
openEuler安装jdk、openEuler离线安装jdk、openEuler设置jdk、openEuler在线安装
记录一下本人使用openEuler安装jdk的过程,希望能帮到看到帖子的你! 方式一:在线安装: 在 openEuler 上安装 JDK(Java Development Kit)的步骤如下: 更新系统: 在安装 JDK 之前,建议先更新系统软件包。打开终端并执行以下命令: sudo dnf update 这将更新系统中的软…...

Photoshop制作漂亮光泽感3D按钮
原文链接(https://img-blog.csdnimg.cn/45472c07f29944458570b59fe1f9a0e0.png)...

【网络爬虫】模拟登录与代理
代理...
无线局域网基础知识与架构
1.1 无线局域网 无线局域网(Wireless Local Area Network,WLAN)是指以无线信道作为传输 媒介的计算机局域网络,是计算机网络与无线通信技术相结合的产物,它以无线多 址信道作为传输媒介,提供传统有线局域网的功能,能…...
uniapp tabbar 浏览器调试显示 真机不显示
解决方案,把tabBar里面的单位全改为px,rpx是不会显示的! 注意了,改完一定要重新运行,不然无效,坑爹 "tabBar": {"borderStyle": "black","selectedColor": &quo…...
极智AI | 地平线BPU跑通YOLOv5
欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来介绍一下 地平线BPU跑通YOLOv5。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq 硬件设备为地平线旭日x3,开发环境和执行环…...

循环服务器(同时连接多个客户端,为每个客户端创建一个子进程处理其消息)
服务器 客户端 结果...
【从零学习python 】38.Python包的使用及导入方式
文章目录 包的使用1. 导入包的方式总结2. __init__.py文件有什么用3. __all__ 注意事项进阶案例 包的使用 一个模块就是一个 py 文件,在 Python 里为了对模块分类管理,就需要划分不同的文件夹。多个有联系的模块可以将其放到同一个文件夹下,为…...

docker 容器满了常用处理方法
docker 容器满了常用处理方法 1、运行 df -h 查看剩余磁盘占用情况 2、进入到docker目录 cd /var/lib/docker 3、运行du -h --max-depth1 (检索文件的最大深度1,即只检索汇总计算当前目录下的文件) 4、进入占用最大的 /containers文件夹&am…...

28、springboot的静态模版(前端页面)重加载和 devtools开发者工具
springboot的静态模版重加载和 devtools开发者工具 总结:实现静态模板重加载的两个方法 方法1:在 yml 配置文件,关闭页面模板缓存, 再按 ctrlf9 重新构建 方法2:直接添加 devtools 依赖,再按 ctrlf9 重新构…...
[FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)
本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。 一、RAM RAM(Random Access Memory)是FPGA中最基本和常用的内部存储块,根据不同架构可以实现不同容量,最大可达几十Mb。 FPGA中的RAM主要包括: 分布式RAM:存在于逻辑块…...
Spark SQL优化:NOT IN子查询优化解决
背景 有如下的数据查询场景。 SELECT a,b,c,d,e,f FROM xxx.BBBB WHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} AND predict_type not IN ( SELECT distinct a FROM xxx.AAAAAWHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} ) 分析 通过查看SQL语句的执行计划基本…...

代码审计-java项目-组件漏洞审计
代码审计必备知识点: 1、代码审计开始前准备: 环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。 2、代码审计前信息收集: 审计目标的程序名,版本,当前环境(系统,中间件…...
接口测试的测试用例该怎么写呢
接口测试是软件测试中非常重要的一部分,因为接口的稳定性和可靠性对于整个系统的质量和用户体验都有很大的影响。在接口测试中,编写有效的测试用例是非常关键的一步。本文将介绍如何编写接口测试的测试用例,包括测试用例的设计和编写方法&…...
C语言例题讲解(if语句,循环语句,函数)
目录 if语句例题题目分析代码题目总结 循环语句例题题目分析代码题目总结 函数例题题目分析代码题目总结 if语句例题 计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值,打印出结果题目分析 1:首先我们不难看出算式中的加号和减号是交替出现的࿰…...

深入探索JavaEE单体架构、微服务架构与云原生架构
课程链接: 链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 🔍【00】模块零:开营直播&a…...

【STM32】FreeRTOS互斥量学习
互斥量(Mutex) 互斥量又称互斥信号量(本质也是一种信号量,不具备传递数据功能),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性…...

Docker容器基础
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Docker概述1、docker是什么2、Docker的设计宗旨3、容器在内核中支持2种重要技术: 三、Docker的核心概念四、Docker相关命令1.安装依赖包2.设置阿里云…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...