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

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.mzph.cn/news/610081.shtml

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

相关文章

PSoc62™开发板之PWM呼吸灯

实验目的 利用PWM动态调节输出功率达到控制LED呼吸变化的效果 实验准备 PSoc62™开发板(开发板已经板载LED) 板载资源 板载有多少pwm 创建工程例程,在libraries/HAL_Drivers/drv_pwm.h中查看BSP支持的pwm数量及对应的GPIO,可…

pgsql中epoch用法

问题描述 提示:这里描述项目中遇到的问题: 昨天又被叫回来加班,説是数据问题,又回来加班搞,到了以后发现数据没问题,那就是查询接口的事了,写查询接口的人用时间戳去查询,明明直接可以直接用日期查询,非得改成时间戳查询,结果还是有问题,接下来复盘一下…

centos安装gradle

1.将gradle.zip拷到centos 解压 2.配置环境变量 vim /etc/profile 在最后添加 export GRADLE_HOME/zx/gradle-8.5 export PATH$PATH:$GRADLE_HOME/bin:${PATH} 之后source /etc/profile gradle -version 安装成功

RK3566环境搭建

环境:vmware16,ubuntu 18.04 获取SDK前需要安装 sudo apt update sudo apt install -y repo git python 下载完成后先验证一下MD5码 md5sum rk356x_linux_release_v1.3.0b_20221213_split_dir/*firefly_split* 解压 rk3566ubuntu:/path/to$ mkdir ~…

【7-zip密码】7-Zip如何取消文件加密的密码

7z压缩包设置了密码,解压的时候就需要输入正确的密码才能顺利解压出文件,正常当我们解压文件或者删除密码的时候,虽然方法多,但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么,忘记了7z压缩包的密码…

Linux网络命令

文章目录 Linux网络网络配置命令1、ifconfig:查看网络接口信息(显示所有活动网卡)1.1 常用命令格式1.2 命令格式(图文详解)1.2.1 临时修改网卡名称1.2.2 永久修改网卡名称1.2.3 永久修改单个网卡 2、hostname&#xff…

JAVA面向对象基础-容器

一、泛型 我们可以在类的声明处增加泛型列表&#xff0c;如&#xff1a;<T,E,V>。 此处&#xff0c;字符可以是任何标识符&#xff0c;一般采用这3个字母。 【示例9-1】泛型类的声明 1 2 3 4 5 6 7 8 9 10 class MyCollection<E> {// E:表示泛型; Object[] o…

ESP32_ADC(Arduino)

ADC模数转换 ESP32集成了12位的逐次逼近式ADC&#xff0c;分别为ADC1模块ADC2模块&#xff0c;共支持18个模拟输入通道: ADC1模块&#xff1a;8个通道&#xff0c;32~39ADC2模块&#xff1a;10个通道&#xff0c;0&#xff0c;2&#xff0c;4&#xff0c;12 ~ 15&#xff0c;…

调试器加载错误,从任务栏打开可能会导致该问题 2024/1/8

&#x1f9e7;喜欢将常用软件固定在任务栏的用户肯定很苦恼这个问题 &#x1f9e7;问题复现 &#x1f9e7;这里先查找一下原因 &#x1f9e7;查看一下固定在任务栏的微信小程序开发工具的属性 如果不会打开任务栏图标属性界面的小伙伴请先翻到文章最后 &#x1f9e7;再使用同样…

CRM功能定制,哪些功能是需要格外注意的?

​到了2023年&#xff0c;在如今的商业环境中&#xff0c;千篇一律的方法很少能带来成功。这对于CRM管理系统尤其如此。虽然标准化的CRM解决方案为企业提供了一个简单的“入坑”门槛&#xff0c;但它们往往缺乏为企业带来真正竞争优势所需的灵活性&敏捷性。企业想要拥有适合…

【Python程序开发系列】一文总结API的基本概念、功能分类、认证方式、使用方法和开发流程

这是Python程序开发系列原创文章&#xff0c;我的第195篇原创文章。 一、什么是API&#xff1f; API是软件开发中非常重要的概念&#xff0c;它简化了不同组件之间的交互和集成&#xff0c;提供了对其他软件或服务功能的访问和调用方式。 API是应用程序编程接口&#xff08;Ap…

计算机配件杂谈-鼠标

目录 基础知识鼠标的发展鼠标的左右手鼠标的显示样式鼠标的移动和可见性移动可见性 现在的我们的生活工作都基本上离不开电脑了&#xff0c;不管是你平时玩玩游戏&#xff0c;上班工作等等&#xff1b; 今天将关于鼠标的一些小的技巧分享出来&#xff0c;共勉&#xff01; 基础…

Git删除远程仓库某次提交记录后的所有提交

1、鼠标右键->git bash here&#xff0c;然后cd切换到代码目录&#xff1b; 2、git log查看提交记录&#xff0c;获取commit id 3、git reset commit id&#xff08;commit id指要保留的最新的提交记录id&#xff09; 4、git push --force&#xff0c;强制push 如果出现…

上海亚商投顾:三大指数小幅反弹,旅游、机器人板块集体走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日震荡反弹&#xff0c;创业板指一度涨超1.7%&#xff0c;午后集体回落翻绿&#xff0c;临近尾盘又…

软考高级系统架构设计师考试经验分享

文章目录 1. 软考介绍&#xff08;1&#xff09;什么是软考&#xff08;2&#xff09;软考的作用&#xff08;3&#xff09;软考各科目的难度&#xff08;4&#xff09;考试时间&#xff08;5&#xff09;考试形式 2.系统架构设计师备考经验&#xff08;1&#xff09;辅导资料&…

知识点整理[(GraphGeo) DATA AND PROBLEM DEFINITION]

3 DATA AND PROBLEM DEFINITION 3.1 Data Collection 问题一:IP定位数据集构成 回答: 包含数以百万计的IP地址,这些IP地址包括: (1)它们具有自己的知识(如自主系统(AS)和WHOIS数据); (2)网络测量

pve多台物理机虚拟化 pve虚拟机优势

Proxmox VE是一个运行虚拟机和容器的平台。基于Debian Linux&#xff0c;完全开源。为了获得最大的灵活性&#xff0c;实现了两种虚拟化技术——基于内核的虚拟机(KVM)和基于容器的虚拟化(LXC)。一个主要的设计目标是使管理尽可能容易。运行在单个节点上使用Proxmox VE&#xf…

【低照度图像增强系列(3)】EnlightenGAN算法详解与代码实现

前言 ☀️ 在低照度场景下进行目标检测任务&#xff0c;常存在图像RGB特征信息少、提取特征困难、目标识别和定位精度低等问题&#xff0c;给检测带来一定的难度。 &#x1f33b;使用图像增强模块对原始图像进行画质提升&#xff0c;恢复各类图像信息&#xff0c;再使用目标检…

搜维尔科技:第九届元宇宙数字人设计大赛作品规范解读!

作品提交 参赛小组需要将作品上传至百度网盘&#xff0c;并将分享链接发送至frankaxis3d.cn邮箱。邮寄格式如下&#xff1a; 邮件标题&#xff1a;作品名称元宇宙数字人设计大赛作品 邮件内容标明&#xff1a;学校名称、院系名称、作品名称、作者名称、联系电话及指导老师名…

机器学习系列--R语言随机森林进行生存分析(2)

随机森林&#xff08;Breiman 2001a&#xff09;&#xff08;RF&#xff09;是一种非参数统计方法&#xff0c;需要没有关于响应的协变关系的分布假设。RF是一种强大的、非线性的技术&#xff0c;通过拟合一组树来稳定预测精度模型估计。随机生存森林&#xff08;RSF&#xff0…