k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain

news2025/6/9 20:02:19

node亲和性和pod亲和性和反亲和性 污点 cordon drain

集群调度:

schedule的调度算法

预算策略

过滤出合适的节点

优先策略

选择部署的节点

nodeName:硬匹配,不走调度策略,node01

nodeSelector:根据节点的标签选择,会走调度的算法

只要是走调度算法,在不满足预算策略的情况下,所有pod都是pending状态。

node节点的亲和性:

硬策略和软策略

硬策略:必须满足条件,匹配原则也是根据节点的标签

软策略:尽量满足你的要求而不是一定满足

pod的亲和性和反亲和性

调度策略:  匹配标签操作符拓扑域调度目标
node的亲和性主机标签In(在) Notin(不在) exists(:存在选择标签对象) DoesNotExist(不存在,选择不具有指定标签的对象) Gt(大于选择的标签值) Lt(小于选择标签值)不支持指定主机
pod的亲和性 pod的标签In(在) Notin(不在) exists(:存在选择标签对象) DoesNotExist(不存在,选择不具有指定标签的对象) Gt(大于选择的标签值) Lt(小于选择标签值)支持pod和指定标签的pod部署同一拓扑域
pod的反亲和性 pod的标签In(在) Notin(不在) exists(:存在选择标签对象) DoesNotExist(不存在,选择不具有指定标签的对象) Gt(大于选择的标签值) Lt(小于选择标签值)支持pod和指定标签的pod部署不同拓扑域

拓扑域:k8s集群节点当中的一个组织机构,可以根据节点的物理关系或者逻辑关系进行划分。可以用来表示节点之间空间关系,网络关系或者其他关系

标签,主机标签

注意点

1、pod的亲和亲和性策略,在配置时,必须要加上拓扑域,必须要加上拓扑域的关键字topologyKet,指向节点的标签

2、pod的亲和性的策略也分为硬策略和软策略

3、pid亲和性notin可以替代反亲和性

4、pod亲和性只要是为了把相关联的pod部署在同一节点,lnmp

你在进行部署的时候怎么考虑node节点

硬策略 软策略还有污点和容器可以配合node的亲和性一块使用

污点:是node调度机制,不是pod

被设为污点的节点不会部署pod

污点的亲和性相反,亲和性是尽量选择和一定选择

污点的节点一定不被选择

污点的名称taint

taint有三种:

1、NoSchedule:k8s是不会把pod调度这个节点上

2、PreferNoSchedule:如果污点类型是他,尽量避免把pod部署在该节点上,不是一定。(master节点的污点就是这个)

3、NoExecute:如果污点类型是它,k8s将会把该节点上pod全部驱除,而且也不会调度到这个节点,不是基于控制器创建pod的会被直接杀死,基于控制器创建pod的会在其他节点重新部署

基于控制器创建的pod,虽然被驱逐,会在其他节点重新部署

kubectl describe nodes node01 | grep -i taints #查看污点

kubectl taint node node01 key=1:NoSchedule #创建污点

kubectl taint node node01 key:NoSchedule- #删除NoSchedule污点

注意点:

节点服务器需要维护的,维护的情况下服务器关机,几点上的pod将会失效。在工作中主要主要部署pod的方式控制器部署,deployment控制器是最多的,一旦节点设置为驱逐,控制器创建的pod会在其他节点重新部署

1、所有的pod都会被驱逐,跟命名空间无关,所有的一切都会被驱逐

2、不会创建方式是什么,都会被驱逐

3、系统集群组件不会被驱逐

容忍机制:

即使节点上设置了污点有了容忍机制,依然可以在设置为污点的节点上部署pod.

特殊情况:NoExecute依然可以部署pod,但是有生命周期,时间一到pod会被销毁重新拉起 并不

生命周期结束之后,会驱逐一部分pod到其他节点,有的节点还是会保留在污点上,有的节点还是会保留在污点节点上

该节点维护完毕测试下节点的工作是否正常

tolerations:

-key: key operator: Exists

指定key的值,指标节点的标签值,但是不指定污点的类型,要么所有节点上只要包含了这个指定的标签名,可以容忍所有的污点

tolerations

-operator: Exists

-effect: Noschedule

没有key,不匹配节点标签,会容忍所有污点,类型是我指定的类型

node的亲和性

pod亲和性和反亲和性

污点和容忍

如何选择node节点部署pod

选择一个我期望的节点来部署pod

第一个例子

有多个master节点 一般会把kubectl taint node master名称 node-role.kubernetes.io/master=:PreferNoschedule

尽量不忘master节点上部署pod,但是不是一定的,防止资源浪费,自定义一个标签

业务维护:

node02需要维护2个小时

但是这个节点还有业务pod在运行

就需要把这个节点的污点设置为:NoExecute

我们部署pod一般都使用deployment部署,会在其他的重新部署,并不是被杀死

自主式的pod会被杀死

一点节点恢复,一定要污点去除

cordon和drain

cordon可以直接把节点标记为不可用状态

kubectl cordon node01 标记节点不可用

kubectl uncordon node01 删除标记不可用

drain:排水,把该节点下的po全部转移到其他node节点上运行

1、一旦执行drain,被执行的节点会变成不可调用状态

2、驱逐该节点上的所有pod

kubectl drain node02 --ignore-daemonsets --delete-local-data --force

drarin:排水,标记node节点为不可调度,然后驱逐pod

--ignore-daemonsets:忽视daemonsets部署的pod,daemonsets部署的pod还在节点

--delete-local-data:有本地挂载卷的会被强制杀死

--force:强制释放不是控制器管的pod

--ignore-daemonsets

还是如何来管理和部署pod

node亲和性和pod亲和性和反亲和性

污点 cordon drain

如何部署pod是比价重要的子群资源调度机制,合理的配置pod的调度机制可以是资源最大化利用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker五部曲之三:镜像构建

文章目录 前言Docker构建架构构建指令构建上下文本地目录Git存储库压缩文件纯文本文件.dockerignore文件 Dockerfile解析器指令环境变量命令执行格式exec格式shell格式 FROMRUNCMDLABELEXPOSEENVADDCOPYENTRYPOINTVOLUMEUSERWORKDIRARGONBUILDSHELL 多级构建 前言 本文均翻译自…

yolov7中断训练后继续训练

1、训练指令 (1)添加resume参数,参数值改为true (2)weights参数,参数值改为中断前上次训练权重 中断后继续训练命令: python.exe train.py --weights runs/train/exp9/weights/last.pt --re…

pandas增强—数据表的非等式连接和条件连接。

Pandas 支持 equi-join,其中 join 中涉及的键被认为是相等的。这是通过 merge 和 join 函数实现的。但是,在某些情况下,所涉及的Key可能不相等;联接中还涉及一些其他逻辑条件、这称为非等式连接或不等式连接或者条件连接。 这种情况下使用pa…

vue-echarts踩坑,本地开发可以渲染echarts图表,线上环境图表渲染不出来

main.js全局注册v-chart组件 import VueECharts from "vue-echarts"; Vue.component("v-chart", VueECharts);在页面中使用 如上图,我开始写的静态数据,在data中定义了chartOption1:{…配置项…}, 在接口数据返回之后,…

学习笔记-MySql数据库介绍与连接

一.MySQL数据库介绍 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDMS (Relational Database Management System,关系数据库管理系统) 应用软件,它是由瑞典MySQL AB 公司开发,目前属于 Oracle 旗…

css宽度适应内容

废话不多说,看如下demo,我需要将下面这个盒子的宽度变成内容自适应 方法有很多,如下 父元素设置display:flex 实现子元素宽度适应内容 如下给父元素设置flex能实现宽度自适应内容 <!DOCTYPE html><html lang"en"><head><meta charset"U…

高工微报告|智驾前视一体机趋势

传统智驾前视一体机赛道上&#xff0c;1V3R、1V5R产品如何升级备受关注。 根据日前调研获取的信息&#xff0c;1V3R、1V5R向轻量级行泊一体&#xff08;典型为5V5R12U方案&#xff0c;算力平台5-20TOPS&#xff09;迈进的具体市场空间&#xff0c;仍在验证阶段。 其中&#x…

【MIdjourney】镜头效果关键词

1.景深(depth of field) 景深&#xff08;DOF&#xff09;&#xff0c;是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。镜头光圈、镜头距离、及焦平面到拍摄物的距离是影响景深的重要因素。 在MIdjourney中&#xff0c;该关键字会使得…

支付功能测试用例测试点?

支付功能测试用例测试点是指在测试支付功能时&#xff0c;需要关注和验证的各个方面。根据不同的支付场景和需求&#xff0c;支付功能测试用例测试点可能有所不同&#xff0c;但一般可以分为以下几类&#xff1a; 功能测试&#xff1a;主要检查支付功能是否符合设计和业务需求…

Vue-16、Vue列表渲染(v-for的使用)

1、vue遍历数组 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>列表渲染</title><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"…

Jenkins使用随笔

1、如果要部署的springboot程序和jenkins在同一台linux上&#xff0c;需要增加一条 export BUILD_IDtomcat_mobile_build_id 如下图&#xff1a; 原因是&#xff1a;jenkins在执行sh脚本的时候&#xff0c;如果脚本中有启动后台进程的情况&#xff0c;例如tomcat的关闭和启动…

FEB(acwing)

文章目录 FEB题目描述输入格式输出格式数据范围输入样例1&#xff1a;输出样例1&#xff1a;输入样例2&#xff1a;输出样例2&#xff1a;输入样例3&#xff1a;输出样例3&#xff1a;代码题解情况1&#xff1a;xxxxxx&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;…&a…

C#MQTT编程02--报文格式

1、报文结构 在MQTT协议中&#xff0c;一个MQTT数据包由&#xff1a;固定头&#xff08;Fixed header&#xff09;、可变头&#xff08;Variable header&#xff09;、消息体&#xff08;Payload&#xff09;三部分构成。 注意2点&#xff1a; 1&#xff09;所有的数据包结构…

【国产车规级SoC芯片型号介绍-LT9211】

近日&#xff0c;龙迅半导体股份有限公司宣布推出LT9211系列车规级SoC芯片——LT9211。该芯片提供7.5*7.5mm封装&#xff0c;可满足对于尺寸及空间比较敏感的车身域和辅助驾驶域节点执行器需求。 龙迅半导体持续完善现有车规产品阵容布局&#xff0c;本次发布的车规级SoC芯片L…

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(文件处理指令-上)

文件处理指令-上 背景前言专栏介绍面向对象重点内容文件处理命令file格式[options] 主要参数简单说明使用案例 mkdir格式[options] 主要参数应用实例 grep格式主要参数[optionsl 主要参数 应用实例pattern正则表达式主要参数 应用实例fgrep和egrep dd格式[options]主要参数 应用…

5 微信小程序

功能开发 5 功能开发概要今日详细1.发布1.1 发布流程的问题1.2 组件&#xff1a;进度条1.3 修改data中的局部数据1.4 发布示例效果前端后端 1.5 闭包 2.获取前10条新闻&#xff08;动态/心情&#xff0c;无需分页&#xff09;3.复杂版4.文章详细页面 各位小伙伴想要博客相关资料…

函数式编程 - 组合compose的使用方法

函数式编程中有一个比较重要的概念就是函数组合&#xff08;compose&#xff09;,组合多个函数&#xff0c;同时返回一个新的函数。调用时&#xff0c;组合函数按顺序从右向左执行。右边函数调用后&#xff0c;返回的结果&#xff0c;作为左边函数的参数传入&#xff0c;严格保…

【高等数学之不定积分】

一、什么是不定积分? 我们可以简单地从英文层面来基础剖析一下&#xff0c;什么是不定积分? 1.1、基本概念 小tips: 二、不定积分运算法则 三、常用积分公式 四、第一类换元积分法 4.1、定义 4.2、常用凑微分公式 4.3、小calculate 五、第二类换元积分法 5.1、定义 …

【已解决】C语言实现多线程的同步与异步

说真的写了这篇博文时&#xff0c;才知道c语言本身不支持多线程&#xff0c;而是一些windowsapi让c语言拥有多线程的能力&#xff0c;那下面内容就以打开对话框为例&#xff0c;展现如何实现多线程的同步与异步。 文章目录 问题起源c语言多线程同步方案c语言多线程异步方案总结…

JOSEF约瑟端子排中间继电器 DZY-204 DC110V 导轨安装,板前接线

DZY系列端子排中间继电器 系列型号&#xff1a; DZY-101端子排中间继电器 DZY-104端子排中间继电器 DZY-105端子排中间继电器 DZY-301端子排中间继电器 DZY-106端子排中间继电器 DZY-401端子排中间继电器 DZY-204端子排中间继电器 一、 概述 DZY-204端子排中间继电器用于各种…