Linux调度器同样支持自然CPU亲和性(natural CPU affinity): 调度器会试图保持进程在相同的CPU上运行, 这意味着进程通常不会在处理器之间频繁迁移,进程迁移的频率小就意味着产生的负载小...中TID的概念,他会将一个进程中所有的TID都执行一次CPU亲和性设置....有兴趣的可以看一下其源代码:ftp://ftp.kernel.org/pub/linux/utils/util-linux/vX.YZ/util-linux-X.YZ-xxx.tar.gz /schedutils.../taskset.c 编程API 下面是用用于设置和获取CPU亲和性相关的API....相关的API只有6个, 前2个是用来设置进程的CPU亲和性,需要注意的一点是,当这2个API的第一个参数pid为0时,表示使用调用进程的进程ID; 后4个是用来设置线程的CPU亲和性。
调度策略 匹配标签 操作符 拓扑域支持 调度目标 nodeAffinity 主机 In, NotIn, Exists,DoesNotExist, Gt, Lt 否 ...
比如一组pod需要最终调度到拥有SSD/GPU的硬盘的机器上,或者将两个不同的服务(服务间直接通信比较频繁)的pod 调度到同样的节点上 (比如gitlab.这里就需要 Kubernetes里面的亲和性来解决...,亲和性分为2类: nodeAffinity 和 podAffinity. nodeSelector 最简单的推荐形式是使用nodeSelector 来满足我们的需求. label 是 kubernetes...---------- Node Affinity nodeAffinity 节点亲和性, 与之相对应的是Anti-Affinity, 这个方式比nodeSelector 更加灵活, 有以下优势: 匹配更多的逻辑组合...,zone=bj TKE控制台创建: [nodeaffinity.png] 部署之后pod按照亲和性规则被调度到了10.0.0.9 这个node节点上,符合预期....更多文档请参考官方文档 结束 k8s 提供了亲和反亲和性给我们的调度提供了更细粒度的控制.
文章目录 简介 nodeAffinity 节点亲和性 podAffinity 亲和性调度实例 互斥性调度实例 简介 前面的 nodeSelector 调度略显生硬,如果场景是:某个 Pod 最好调度到磁盘大的节点上...---- nodeAffinity 节点亲和性 目前有两种亲和性表达: RequiredDuringScheduleIgnoreDuringExecution:调度时要求,执行时忽略。...内置了以下一些常用的默认拓扑域: kubernetes.io/hostname topology.kubernetes.io/region topology.kubernetes.io/zone pod 亲和性的具体做法是通过在...---- 亲和性调度实例 apiVersion: v1 metadate: name: pod-flag labels: security: "s1" app: "nginx"
截止到Kubernetes 1.11版本,节点亲和性的特性还是Beta阶段。...IgnoreDuringExecution表示如果在Pod运行期间Node的标签发生变化,导致亲和性策略不能满足,则继续运行当前的Pod。...Pod间的亲和性与反亲和性 inter-pod affinity/anti-affinity 这个特性是Kubernetes 1.4后增加的,允许用户通过已经运行的Pod上的标签来决定调度策略,用文字描述就是...原则上topologyKey可以是节点的合法标签,但是有一些约束: 对于亲和性以及RequiredDuringScheduling的反亲和性,topologyKey需要指定 对于RequiredDuringScheduling...参考资料 Kubernetes中的亲和性 Assigning Pods to Nodes
亲和性与反亲和性(affinity / anti-affinity)特性则极大地扩展了限定的表达方式。...换句话说,节点亲和性规则只在调度该 Pod 时发生作用。...Pod亲和性与反亲和性 Pod之间的亲和性与反亲和性(inter-pod affinity and anti-affinity)可以基于已经运行在节点上的 Pod 的标签(而不是节点的标签)来限定 Pod...更多实用的例子 Pod 亲和性与反亲和性结合高级别控制器(例如 ReplicaSet、StatefulSet、Deployment 等)一起使用时,可以非常实用。...image: redis:3.2-alpine: 这个字段指定了要使用的容器镜像,这里使用的是Redis 3.2版本的Alpine Linux基础镜像。
写在前面 整理相关笔记 博文内容涉及 Linux 中CPU 亲和性配置简单介绍 为什么需要配置CPU亲和性?...为什么需要配置亲和性?...taskset taskset 是一个在 Linux 系统中用于设置或检索进程 CPU 亲和性(affinity)的命令行工具。...System: CentOS Stream 9 CPE OS Name: cpe:/o:centos:centos:9 Kernel: Linux...Cgroup V1 从Linux 4.6开始,cpuset API已被标记为过时,并建议使用基于文件系统的统一cgroup v2 API。在 cgroup v1 版本。
在 Kubernetes 中,亲和性和反亲和性可以用来控制 Pod 如何调度到节点上,而污点和容忍则可以用来控制节点是否接受 Pod。...在本文中,我们将介绍 Kubernetes 中亲和性、反亲和性、污点和容忍的概念,并提供一些示例来帮助读者更好地理解这些概念。亲和性和反亲和性亲和性和反亲和性可以用来控制 Pod 如何调度到节点上。...亲和性表示 Pod 要求与特定的节点调度在一起,反亲和性表示 Pod 不希望与特定的节点调度在一起。...反亲和性与亲和性的实现类似,只是条件相反。...在使用亲和性、反亲和性、污点和容忍时需要注意以下几点:亲和性和反亲和性只在节点之间的调度时生效,而不会影响 Pod 内容器之间的调度。
硬策略: 必须符合要求,不然Pod的状态就一直是Pending requiredDuringSchedulingIgnoredDuringExecution 软...
Kubernetes K8S之Node节点亲和性与反亲和性以及Pod亲和性与反亲和性详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master...而亲和性/反亲和性极大地扩展了可表达的约束类型。关键的增强是: 1、亲和性/反亲和性语言更具表达性。...亲和特性包括两种类型:node节点亲和性/反亲和性 和 pod亲和性/反亲和性。pod亲和性/反亲和性约束针对的是pod标签而不是节点标签。...pod亲和性与反亲和性示例 为了更好的演示Pod亲和性与反亲和性,本次示例我们会将k8s-master节点也加入进来进行演示。...为后续的Pod亲和性与反亲和性测验做基础。
Gt:label 的值大于某个值 Lt:label 的值小于某个值 Exists:某个 label 存在 DoesNotExist:某个 label 不存在 二、节点与Pod硬亲和性...values: - node-3 查看下结果: 这个时候可以看到,我们新创建的 Pod 一直处于 Pending 的状态,这是因为我们没有Node-3这个节点,且采用的是硬亲和性策略的原因所导致的...三、节点与Pod软亲和性 preferredDuringSchedulingIgnoredDuringExecution 为了解决上述因为硬亲和性创建Pod不成功的问题,我们通过设置软亲和性策略后再次创建一个...- key: source operator: In values: - zutuanxue_com 四、Pod 亲和性...values: - pod-1 topologyKey: kubernetes.io/hostname 我们来看一下结果: 五、关于亲和性总结
写在前面 考试整理,分享一些Linux CPU时间分布配置的笔记 内容涉及 CPU 带宽,权重,亲和性配置前后测试Demo Deom 主要以进程级别使用 Cgroup-v2实现 服务级别 使用 systyemd...通过限制其CPU资源(亲和性配置),你可以确保该应用程序或服务不会对其他部分产生过大的影响,即使它出现性能问题或异常行为。...Boot ID: 2333fe6d930148d59327b9fd9ce48c37 Virtualization: vmware Operating System: Rocky Linux...8.9 (Green Obsidian) CPE OS Name: cpe:/o:rocky:rocky:8:GA Kernel: Linux 4.18.0-513.9.1...观察每个 cpu 的空闲率变化 ┌──[root@vms99.liruilongs.github.io]-[~] └─$mpstat -P ALL 2 Linux 4.18.0-513.9.1.el8_
硬策略: requiredDuringSchedulingIgnoredDuringExecution 软策略: preferredDuringScheduli...
我们上小节介绍了Node亲和性(Affinity)和反亲和性(Anti-affinity)本质上还是属于Node和Pod的之间的调度规则。...或者相反的要求一个控制器下的Pod必须和某个Pod在一起,则可以通过Pod亲和性(Affinity)和反亲和性(Anti-affinity)来解决。...Pod 亲和性 Pod 亲和性用于将新 Pod 安排到与现有 Pod 相近的位置,这些现有 Pod 可能是同一个应用的不同实例或者是相互协作的服务。...Pod 反亲和性 Pod 反亲和性用于将新 Pod 安排到与具有特定标签的现有 Pod 不同的节点上,这有助于实现高可用性和故障隔离。...Linux进阶-包括硬件,日常运维,基础软件,日志,进阶命令,防火墙,shell编程,内核,linux系统及初始化Linux基础-包括文件的增删改查,磁盘管理,网络配置,用户配置,权限配置
一、节点调度 在开始 kiali 亲和性调度之前,先演示一个简单的例子介绍 pod 选择调度到指定 node: 节点打标 使用命令查看当前所有 k8s 节点: [root@k8s-master ~]# ...;如今可以网上挂号了,病人也可以挑选中意的医生,这样就有了亲和性,说明社会进步了。...节点亲和性调度(NodeAffinity) 下面的理论可以对照上面的例子。 节点亲和性,也就是 NodeAffinity,用来控制 pod 部署或者不能部署在哪台机器上。...节点亲和性调度策略分为硬策略分为软策略和硬策略两种方式。硬策略是如果没有满足条件的节点,就会不断重试直到条件满足了为止;软策略是如果没有满足条件的节点,pod 就会忽略这条规则,继续完成调度过程。...节点亲和性软硬策略的语法分别介绍如下。
,这是一篇笔记性质的博客 kubernetes默认调度器的调度过程: 调度过程如下: 预选(Predicates) 优选(Priorities) 选定(Select) 亲和性一览 这里将亲和性先分类,便于理解...image.png 节点亲和性和pod亲和性的区别 举个例子,假设给小明分配班级(小明是pod,班级是节点) 节点亲和性:直接告诉小明,你去一年级 pod亲和性:从小朋友中找出和小明同年的,找到了小张...,发现小张是一年级的,于是让小明去一年级 节点亲和性:硬亲和性 requiredDuringSchedulinglgnoredDuringExecution:用于定义节点硬亲和性 nodeSelectorTerm...,pod为Pending状态 在预选阶段,节点硬亲和性被用于预选策略MatchNodeSelector 节点亲和性:软亲和性 特点:条件不满足时也能被调度 示例: apiVersion: apps/...Pod亲和性(podAffinity) 如果需求是:新增的pod要和已经存在pod(假设是A)在同一node上,此时用节点亲和性是无法完成的,因为A可能和节点没啥关系(可能是随机调度的),此时只能用
In:label的值在某个列表中 NotIn:label的值不在某个列表中 Gt:label的值大于某个值 Lt:label的值小于某个值 Exists:某个l...
pod反亲和性 节点亲和性功能类似于 nodeSelector 字段,但它的选择表达能力更强,有各种各样的规则,还有软规则。...甚至还可以有反亲和性,拒绝/排斥部署到哪些节点; nodeAffinity--节点亲和性 节点亲和性(nodeAffinity)分成两种: requiredDuringSchedulingIgnoredDuringExecution...pod间的亲和反亲和性 前面的节点亲和性是通过pod和节点之间的标签进行匹配,选择的; pod的亲和性和反亲和性调度指:通过已在运行中的pod标签进行选择调度部署的节点; pod的亲和性调度:一个典型的使用场景就是在集群环境是有多数据中心的...PS:Pod 间亲和性和反亲和性都需要一定的计算量,因此会在大规模集群中显著降低调度速度(比如上百个节点上千上万的pod),影响性能; 这块我也用的不多,就写到这里; taint + tolerations...-污点与容忍度调度 nodeSelector/nodeName和节点亲和性都是pod的一种属性,它可以主动选择某些节点。
基于上述原因,作者对redis做了CPU亲和性的系统支持,并合入了upstream。
这次给大家介绍下k8s的亲和性调度:nodeSelector、nodeAffinity、podAffinity、Taints以及Tolerations用法。...这就需要用到 Kubernetes 里面的一个概念:亲和性,亲和性主要分为两类:nodeAffinity和podAffinity。...192.168.1.140 Ready 42d v1.8.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux...192.168.1.161 Ready 118d v1.8.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux...nodeAffinity nodeAffinity就是节点亲和性,相对应的是Anti-Affinity,就是反亲和性,这种方法比上面的nodeSelector更加灵活,它可以进行一些简单的逻辑组合了,不只是简单的相等匹配
领取专属 10元无门槛券
手把手带您无忧上云