当前位置: 首页 > news >正文

8-k8s-污点与容忍

文章目录

    • 一、概念
    • 二、相关操作
    • 三、实操污点NoSchedule
    • 四、实操污点NoExecute
    • 五、实操容忍

一、概念

  1. 污点与容忍

    污点taints定义在节点之上的键值型属性数据。当节点被标记为有污点,那么意味着不允许pod调度到该节点。

    容忍tolerations是定义在 Pod对象上的键值型属性数据。被打上污点的节点,如果同时被pod标记为可以容忍污点的节点,则允许pod调度到该节点。。

    ps:在使用kubeadm部署的k8s集群的时候应该会发现,通常情况下,应用不会调度到master节点。因为默认给master节点加了污点。

    1)污点一般打在节点上,且一个节点可以配置使用多个污点

    2)容忍是标注在pod(资源控制器)上的。一个Pod(资源控制器)也可以有多个容忍度。启动pod一般不会调度在有污点的节点上,除非该pod标注了这些污点的容忍,才可以被调度。

  2. 污点配置类型

    1)Noschdule:如果Pod不能忍受这类污点,则该污点节点后续不会进行pod调度,已经创建的pod不会受到影响。
    2)NoExecute:如果Pod不能忍受这类污点,则该污点节点会马上驱除该节点上所有非kube-system空间的所有pod节点。

    3)PreferNoSchedule: NoSchedule的软约束,即该污点节点后续基本不会进行pod调度,但是无其他节点可供调度时,才允许调度到该节点。已经创建的pod不会受到影响。

二、相关操作

  1. 为节点打上污点:kubectl taint node kas-master key=value:Noschedule

  2. 移除污点:kubectl taint node k8s-master key=value:Noschedule-

  3. 查看污点指令:kubectl taint -h

  4. pod配置容忍

    # pod的 spec下面配置容忍
    tolerations:
    - key: "污点的 key"value: "污点的value"offect: "NoSchedule" #污点产生的影响operator: "Equal" #1.Equal:pod和节点的key+value都要相等。2.Exists:pod和节点的key相等即可。tolerationSeconds: 时间(s)  #tolerationSeconds不设置,则Pod会一直在满足容忍的节点上一直执行。
    

三、实操污点NoSchedule

  1. 给worker1节点打上污点:kubectl taint no worker1 key1=value1:NoSchedule

  2. 查看节点: kubectl describe no worker1
    在这里插入图片描述

  3. 编写yaml清单:vi deployment-nginx.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:name: deployment-nginx     #Deployment 的名称labels:app: nginx
    spec:replicas: 3       # 创建 Pod 的副本数selector:         #定义 Deployment 如何找到要管理的 Pod,与 template 的 label(标签)对应matchLabels:app: nginxtemplate:          #字段包含以下字段:metadata:labels:app: nginx    #使用 label(标签)标记 Podspec:             #表示 Pod 运行一个名字为 nginx 的容器containers:- name: nginximage: nginx:1.15       #表示 Pod 运行一个名字为 nginx 的容器ports:                  #容器用于发送和接收流量的端口- containerPort: 80
    
  4. 创建:kubectl apply -f deployment-nginx.yaml

  5. 查看,发现worker1上面没有调度pod:kubectl get pod -o wide
    在这里插入图片描述

  6. 移除污点:kubectl taint no worker1 key1=value1:NoSchedule-

四、实操污点NoExecute

  1. 删除所有pod:kubectl delete -f deployment-nginx.yaml

  2. 重新部署:kubectl apply -f deployment-nginx.yaml

  3. 查看:kubectl get pod -o wide
    在这里插入图片描述

  4. 设置NoExecute:kubectl taint no worker1 key1=value1:NoExecute

  5. 查看节点:kubectl get pod -o wide

    ps:可以看到,除了kube-system空间以外的其他空间,所有worker1上的pod都被驱除
    在这里插入图片描述

五、实操容忍

  1. 在deployment-nginx上设置污点容忍,然后再次查看:vi deployment-nginx.yaml

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

    完整配置

    apiVersion: apps/v1
    kind: Deployment
    metadata:name: deployment-nginxlabels:app: nginx
    spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:tolerations:- key: "key1"operator: "Equal"value: "value1"effect: "NoExecute"containers:- name: nginximage: nginx:1.15ports:- containerPort: 80
    
  2. 更新:kubectl apply -f deployment-nginx.yaml

  3. 查看pod:kubectl get pod -o wide
    在这里插入图片描述

  4. 测试完还原,删除污点:kubectl taint no worker1 key1=value1:NoExecute-

相关文章:

8-k8s-污点与容忍

文章目录 一、概念二、相关操作三、实操污点NoSchedule四、实操污点NoExecute五、实操容忍 一、概念 污点与容忍 污点taints定义在节点之上的键值型属性数据。当节点被标记为有污点,那么意味着不允许pod调度到该节点。 容忍tolerations是定义在 Pod对象上的键值型属…...

钢铁异常分类140篇Trans 学习笔记 小陈读paper

钢铁异常分类 对比学习 比较好用 1.首先,为每个实例生成一对样本, 来自同一实例的样本被认为是正例, 来自不同实例的样本被认为是负例。 2.其次,这些样本被馈送到编码器以获得嵌入。 3.在对比损失[16]的影响下, …...

YOLOv5-理论部分

YOLOv5 作者: Ultralytics 论文源码: https://github.com/ultralytics/yolov5 Ultralytics:“超视觉技术” / “超视觉系统” 0. 引言 “YOLOv5 🚀 是世界上备受喜爱的视觉人工智能,代表了 Ultralytics 对未来视觉人工智能方法的开源研究&a…...

蓝桥等考C++组别一级004

第一部分:选择题 1、C L1(15分) 下列是编程语言的一项是( )。 A. C B. Word C. Excel D. PowerPoint 正确答案: A 2、C L1(15分) 仔细阅读以下程序代码,其中有…...

分布式服务的链路跟踪 Sleuth Micrometer zipkin OpenTelemetry

由来 在分布式应用开发过程中,一个请求会调用多个应用,会有那种需要知道各个应用之间耗时的想法,这样可以知道一个调用的总时长以及各个组件之间的处理耗时,后面方便定位问题。 理论依据 起源于 google dapper 论文 https://re…...

CUDA学习笔记4——自定义设备函数

自定义设备函数 核函数:__global__修饰;在设备中执行;设备函数:__device__修饰;在设备中执行;只能被核函数或其他设备函数调用;主机函数:__host__修饰(可省略&#xff0…...

微前端四:qiankun在开发中遇到的问题

在qiankun开发中会遇到很多问题,上一篇微前端三:qiankun 协作开发和上线部署其实也是在解决一些经常遇到的问题,下面的两点也算是比较经典的了 1、子应用图片路径问题 2、基座是Vue2.0 element ui 配合 子应用 Vue3.0 element plus 导致的样…...

Android DisplayPolicy增加一些动作,打开后台接口

Android DisplayPolicy增加一些动作,打开后台接口 前言一、了解android全局滑动事件的拦截二、修改1.DisplayPolicy.java修改 前言 一些后台接口 界面之类的不方便打开,但是测试需要用到,这里就添加一个10秒内上拉6下,打开一个后…...

基于Linux安装Hive

Hive安装包下载地址 Index of /dist/hive 上传解压 [rootmaster opt]# cd /usr/local/ [rootmaster local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz重命名及更改权限 mv apache-hive-3.1.2-bin hivechown -R hadoop:hadoop hive配置环境变量 #编辑配置 vi /etc/pro…...

FPGA 图像缩放 1G/2.5G Ethernet PCS/PMA or SGMII实现 UDP 网络视频传输,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐UDP视频传输--无缩放FPGA图像缩放方案我这里已有的以太网方案 3、设计思路框架视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 UDP协议栈UDP视频数据组包U…...

重复控制逆变器的仿真分析研究

摘 要 本次设计主要以重复控制逆变器控制系统设计应用作为研究背景,运用MATLAB/Simulink仿真工具搭建相应的仿真模型。重复控制逆变器控制系统拥有很好的动态特性,运行稳定性高、调速的范围较大,性能可靠等,在实际生产制造中被广…...

WuThreat身份安全云-TVD每日漏洞情报-2023-10-18

漏洞名称:致远 OA XML 外部实体注入漏洞 漏洞级别:高危 漏洞编号:NULL 相关涉及:V5/G6 V6.0及以上全系列版本 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-26027 漏洞名称:XNSOFT NCONVERT 图像文件缓冲区溢出 漏洞级别:中危 漏洞编号:CVE-…...

开启机器人学新时代,《机器人学建模、规划与控制》完美诠释未来

机器人学是未来发展的热点领域之一,而在这个领域中,建模、规划与控制则是必不可少的基础技术。今天作者要向大家推荐一本机器人学领域的经典教材——《机器人学建模、规划与控制》。 这本书由西安交通大学出版社出版,作者是机器人学专业的鼎…...

C#根据ip获取地理位置信息的方法,史上最全

商业收费 百度地图高德地图腾讯地图纯真IP 开源免费 纯真ip免费版 以前可以直接下载,现在获取ip数据库的方式改变了,自行官网查看把,个人或者学术研究,商用追责,商业用途慎用 using System.Collections.Generic; us…...

Git问题汇总

1.取消全局代理 一般报错Failed to connect to github.com port 443 after 21089 ms: Couldn’t connect to server 取消全局代理: git config --global --unset http.proxygit config --global --unset https.proxy#或者 git config --global http.proxy http://…...

【linux 0.11 学习记录】一、环境配置,用Bochs输出hello world

想学习linux,又不知道从哪里下手,体系太大,哪块内容都很多,无奈下选择了linux0.11作为入口,本系列将是学习笔记,希望能坚持下去吧 环境配置 这里使用win10bochs2.7 安装bochs 官网:https://b…...

【LeetCode75】第七十三题 用最少数量的箭引爆气球

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 本题和上一题基本一样,上一题是要我们尽量让区间不重叠,而本题是要我们尽量让区间重叠。 所以我们的做法和上一题…...

航天科技×辰安科技 打造智慧化工园区安全保障平台

近年来,国内化工园区安全事故频发,多起化工园区重特大事故造成了严重人员财产损失的同时,也重创了行业的整体发展。在智能制造和工业互联网的背景下,建设智慧化工园区,使用智能化手段实现安全生产是解决当前化工园区安…...

6-2 分治法求解金块问题

description 老板有一袋金块(共n块,2≤n≤100),两名最优秀的雇员每人可以得到其中的一块,排名第一的得到最重的金块,排名第二的则得到袋子中最轻的金块。 输入一个正整数N(2≤N≤100&#xff…...

A062-防火墙安全配置-配置Iptables防火墙策略

实验步骤: 【教学资源类别】 序号 类别 打勾√ 1 学习资源 √ 2 单兵模式赛题资源 3 分组对抗赛题资源 【教学资源名称】 防火墙安全配置-配置安全设置iptables防火墙策略 【教学资源分类】 一级大类 二级大类 打勾√ 1.安全标准 法律法规 行业标准 安全…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...