K8S集群调度(2)

schedule的调度算法

预算策略

过滤出合适的节点

优先策略

选择部署的节点

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

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

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

node节点的亲和性:

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

软策略:尽量满足要求,不是一定满足

pod的亲和性和反亲和性

调度策略

匹配标签

操作符

拓扑域

调度目标

node的亲和性

主机标签

In/Notin/Exists/DoesNotExists/Gt/Lt

不支持

指定主机

pod的亲和性

pod的标签

In/Notin/Exists/DoesNotExists

支持

pod和指定标签的pod部署在同一拓扑域

pod的反亲和性

pod的标签

In/Notin/Exists/DoesNotExists

支持

pod和指定标签的pod部署不在同一拓扑域

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

pod

node1  node2   node3

nginx1  nginx2   nginx3

app1    app1    app1

app1  app2  app2  app3  app3  app4

topologyKey指定拓扑域的关键字段,表示正在使用test1作为拓扑域的关键字。test1一般是节点标签,表示希望把pod调度到包含有app标签的pod,值为nginx1的在test1的拓扑域上的节点。

注意点:

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

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

3、pod亲和性的notin可以替代反亲和性

4、pod亲和性把相关联的pod组件部署在同一节点

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

软硬策略、污点和容忍

污点和容忍可以配合node的亲和性一块使用

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

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

污点和亲和性相反,亲和性是尽量或者一定选择。

污点的节点一定不被选择(真否?答案如下

taint三种:

1、NoScheduler

k8s不会把pod调度到这个节点上

2、PreferNoSchedule

如果污点类型是这个,那么就是尽量避免把pod部署在该节点上,而不是一定(master节点的污点就是这个)

3、NoExecute

如果污点类型是这个,那么K8S会把这个节点上的pod全部驱逐出去,而且不会调度到这个节点

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

自主pod会被直接杀死

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

所有的pod都会被驱逐,和命名空间无关。所有的一切都会被驱逐

不论你的创建方式是什么,都会被驱逐

系统集群组件不会被驱逐 **

容忍:即使节点上设置了污点,有了容忍机制,依然可以在设置为污点的节点上部署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.kubernetesio/master=:PreferNoSchedule

尽量不往master节点上部署pod,但是不是一定的。防止资源浪费。也可以自定义标签

业务维护:

node02需要维护2个小时。但是这个节点还有业务pod在运行。就需要把这个节点的污点设置为NoExcute

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

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

cordon和drain

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

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

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

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

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

drain:为不可调度,然后驱逐pod

--ignore-daemonsets:无视daemonsets部署的pod,一并驱逐

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

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

还是如何来管理和部署pod

pod的亲和性和反亲和性

污点:驱逐

NoExecute

cordon

drain

-ignore-daemonsets daemonset部罢的一股是重要后台运行的,系统pod。所以不动。

node亲和性          软硬策略

pod亲和性

pod反亲和性

污点 NoExecute

容忍

cordon

drain

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

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

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

相关文章

MyBatisPlus学习笔记一

1、简介 MyBatisPlus(简称MP)是一个MyBatis的增强工具,在MyBatisMyBatisMyBatis的的基础上只做增强不做改变,为简化开发,提高效率而生。 官网:MyBatis-Plus mybatisplus通过扫描实体类,并基于…

2-归并排序

算法:归并排序 思想:分治法【问题分解,归并排序递归解决,合并解】 实现:将数组通过递归方式自顶向下的分解至最小单元,再自底向上进行合并,以此实现排序 时间复杂度: Θ ( n l g n )…

老胡的周刊(第123期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 ai-video-search-engine[2] 随着 TikTok 和 …

206.【2023年华为OD机试真题(C卷)】最大N个数与最小N个数的和(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-最大N个数与最小N个数的和二.解题思路三.题解代…

力扣173. 二叉搜索树迭代器

深度优先搜索 思路: 遍历二叉搜索树,左子树总比根节点小,右子树总比根节点大;先深度遍历左子树,然后返回其父节点,然后遍历其右子树节点;使用栈数据结构存储节点数据,借用其“后进先…

空间转录组与单细胞转录组联合分析——MIA,代码分享(Nature Biotechnology :)

​ 原文:Integrating microarray-based spatial transcriptomics and single-cell RNA-seq reveals tissue architecture in pancreatic ductal adenocarcinomas | Nature Biotechnology 研究者采用 MIA 联合 scRNAseq 和 ST 数据,分析原发性胰腺导管腺癌…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷②

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷2 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷2 模块一 …

NX二次开发 Block UI 指定方位控件的应用

一、概述 NX二次开发中一般都是多个控件的组合,这里我首先对指定方位控件进行说明并结合选择对象控件,具体如下图所示。 二、实现功能获取方位其在选择面上原点的目标 2.1 在initialize_cb()函数中进行初始化,实现对象选择过滤面 //过滤平…

Unity中Shader面片一直面向摄像机

文章目录 前言一、实现思路1、 我们要实现模型面片一直跟着摄像机旋转,那么就需要用到旋转矩阵2、确定 原坐标系 和 目标坐标系3、确定旋转后坐标系基向量二、确定旋转后 坐标系基向量 在 原坐标系 下的值1、Z轴基向量2、假设Y轴基向量 和 世界空间下 的Y轴方向一致竖直向上3、…

go study twoday

交换两个数值 package mainimport "fmt"func main() {var num1 intvar num2 float32fmt.Println("请输入一个整数:")if _, err : fmt.Scanln(&num1); err ! nil {fmt.Println("输入错误:", err)return}fmt.Println(&q…

基于51单片机的蓄水池液位无人监测与自动调节系统设计

设计并实现基于51单片机的蓄水池液位无人监测与自动调节系统是一篇工程实践性很强的技术论文,以下是一个可能的论文提纲示例: **标题:** 基于51单片机的智能蓄水池液位监测与自动调节系统设计 **摘要:** 本文针对蓄水池液位实时…

在 ESP-IDF 环境下,使用标准 C 扩展 Micropython 模块

在 ESP-IDF 环境下,使用标准 C 扩展 Micropython 模块 源码地址 : https://gitee.com/Mars.CN/micropython_extend_example 一、 安装 ESP-IDF 环境 在其他课程中讲过,这里不再赘述,有机会再出教程吧,但需要注意的是…

全网独家:基于openEuler-20.03-LTS-SP4底包构建opengaussV5.0.1LTS的单机极简版数据库容器

本文尝试基于openEuler-20.03-LTS-SP4底包构建opengaussV5.0.1LTS的单机版极简版数据库容器。 一、软件包源 1、openEuler-20.03-LTS容器底包 openEuler-20.03-LTS-SP4 下载链接 sha256:24d8f51c1f3a79eb975c4e498cadd9055bfd708d66c15935ec46664d0f975a7b openEuler-dock…

QT上位机开发(键盘绘图控制)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 绘图是qt很基础的一个功能。通常,我们进行qt绘图的时候,一般会先创建一个qt view,这个相当于视图。接着创建一个…

YOLOv5改进 | 主干篇 | EfficientNetV2均衡缩放网络改进特征提取层

一、本文介绍 这次给大家带来的改进机制是EfficientNetV2,其在其V1版本通过均衡地缩放网络的深度、宽度和分辨率,以提高卷积神经网络的性能的基础上,又提出了一种改进的渐进式学习方法,通过在训练过程中逐步增加图像尺寸并适应性调整正则化来加快训练速度,同时保持准确性…

TinyLog iOS v3.0接入文档

1.背景 为在线教育部提供高效、安全、易用的日志组件。 2.功能介绍 2.1 日志格式化 目前输出的日志格式如下: 日志级别/[YYYY-MM-DD HH:MM:SS MS] TinyLog-Tag: |线程| 代码文件名:行数|函数名|日志输出内容触发flush到文件的时机: 每15分钟定时触发…

SQL SERVER 不拼接SQL如何条件查询

遇到条件查询,比如用户可以在界面上选择想要查询的条件。 我们常用的方法是拼接SQL,如下: declare id int, SQL NVARCHAR(50) set SQL select * from user where 11 if id is not null beginset SQL SQL and id id end 但是如果需…

【前端】使用javascript开发一个在线RGB颜色转换

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是是《前端》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌…

WebGL在实验室方向的应用

WebGL在实验室方向的应用涉及到实验过程的可视化、数据分析、模拟等方面。以下是一些WebGL在实验室领域的应用示例,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.分子模型和化学反应模拟&#xff…

Microsoft To-Do使用经验分享,使用Microsoft To-Do更好的规划自己的目标

为什么使用Microsoft To-Do 很久之前尝试使用过onenote,有道云笔记,印象笔记,小米便签等管理自己的日程,有一定的作用,但是功能过于简单或者冗余,没有达到时间管理的目的,没有办法坚持下来,通过…