完整教程:标签Labels、Scheduler:调度器、k8s污点与容忍度

news/2025/12/5 18:50:30/文章来源:https://www.cnblogs.com/yangykaifa/p/19313454

labels用于标识和选择 Kubernetes 对象(如 Pod、Deployment、Service、Namespace 等)的键值对

用途:

①分类和组织

②筛选和管理

③自动化操作

使用方法:

①创建资源时,添加标签

通过标签名,筛选pod

kubectl get pod -l app=pod-1

kubectl get pod -l app,env

apiVersion: v1

kind: Pod

metadata:

  name: my-pod

  labels:

     app: my-app

     environment: production

spec:

  containers:

   - name: my-container

       image: nginx

②在资源运行时,添加或修改标签

添加标签

kubectl label pod myapp-2-b6f89777f-r5n7x server=nginx

删除标签

kubectl label pod myapp-2-b6f89777f-r5n7x server-

重新添加标签

kubectl label pod myapp-2-b6f89777f-r5n7x server=apache

apiVersion: apps/v1

kind: Deployment

metadata:

   name: my-deployment

spec:

    replicas: 3

    selector:              #标签选择器

        matchLabels:  #通过键值对绑定标签

            app: my-app #需要管理Pod的标签

      template:             #创建Pod的模板,通过Deployment自动创建Pod

         metadata:

              labels:

                 app: my-app #Pod的标签,用于被筛选和管理

        spec:

            containers:

             - name: my-container

                image: nginx

查看一个pod的标签

kubectl describe pod myapp-2-b6f89777f-r5n7x / grep Labels

查看所有pod的标签

kubectl get pod --show-labels

Scheduler:调度器

在创建运行pod时,用于将Pod的创建请求绑定到Pode节点上;

可以满足调度的公平、高效、灵活;

调度过程:

1.过滤掉不满足条件的节点,预选(predicate)

2.按照节点的优先级排序,优选(priority)

3.选择优先级最高的node节点

调度方法:

1.自动调度:Scheduler经过一系列的算法计算得出最优节点;

2.定向调度:

    NodeName:指定Node名称进行调度;

    NodeSelector:通过Node标签进行选择调度

3.亲和性调度:

     NodeAffinity (节点亲和度)

     PodAffinity (Pod亲和度)

     PodAntiAffinity (Pod反亲和性)

4.污点与容忍度:

     Taints 给Node节点打上污点,需要容忍度才能调度

     Toleration 在Pod上设置容忍度,才能运行在有污点的Node上

固定调度案例:

apiVersion: apps/v1

kind: Deployment

metadata:

    name: myweb

spec:

    selector:

        matchLabels:

             app: myweb

      replicas: 6

      template:

          metadata:

               labels:

                  app: myweb

        spec:

             nodeName: node-1  #通过指定nodeName,实现固定调度

             containers:

              - name: myweb

                 image: docker.io/nginx

                 ports:

                  - containerPort: 80

污点与容忍度

如果Node节点上有污点,需要Pod有容忍度才能调度运行

污点的三种级别:

NoSchedule:没有容忍的Pod不能新建,已经运行的Pod不受影响;(第二级别)

PreferNoSchedule:没有容忍的Pod尽量不要创建,如果没有其他节点可以选择,也能创建;(最小级别)

NoExecute:驱逐所有Pod应用;(最高级别)

给node打污点:

创建污点

kubectl taint nodes node01 key=value:effect  (关键字:taint)

删除污点

kubectl taint nodes node01  key-

给pod添加容忍度:

在 Kubernetes 中,Pod 的容忍度(Tolerations)用于允许 Pod 调度到带有污点(Taints)的节点上。污点和容忍度是 Kubernetes 中用于控制 Pod 调度的一种机制,允许你将某些 Pod 排除在某些节点之外,或者将某些 Pod 明确允许调度到特定的节点上。

1. 污点(Taints)和容忍度(Tolerations)的基本概念
  • 污点(Taints):是一种节点属性,用于阻止某些 Pod 调度到该节点上。污点由键(key)、值(value)和效果(effect)组成。

    • effect 的值可以是:

      • NoSchedule:不允许新的 Pod 调度到该节点,但已调度的 Pod 不受影响。

      • PreferNoSchedule:尽量避免将新的 Pod 调度到该节点,但不是强制的。

      • NoExecute:不允许新的 Pod 调度到该节点,并且会驱逐已存在的 Pod。

  • 容忍度(Tolerations):是一种 Pod 属性,用于允许 Pod 调度到带有特定污点的节点上。容忍度也由键(key)、值(value)和效果(effect)组成。

2. 给 Pod 添加容忍度

在 Pod 的定义中,可以通过 tolerations 字段来添加容忍度。以下是一个示例:

示例 Pod 定义
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imagetolerations:- key: "node-type"operator: "Equal"value: "gpu"effect: "NoSchedule"

在这个例子中:

  • keynode-type,表示容忍的污点键。

  • operatorEqual,表示键和值必须匹配。

  • valuegpu,表示容忍的污点值。

  • effectNoSchedule,表示容忍的污点效果。

3. 示例场景

假设你有一些节点带有以下污点:

kubectl taint nodes node1 node-type=gpu:NoSchedule

如果没有添加容忍度,Pod 将无法调度到带有该污点的节点上。通过在 Pod 定义中添加上述容忍度,Pod 就可以被调度到带有 node-type=gpu:NoSchedule 污点的节点上。

4. 其他容忍度配置
a. 匹配所有污点

如果你希望 Pod 容忍所有类型的污点,可以使用以下配置:

tolerations:
- operator: "Exists"effect: "NoSchedule"
b. 容忍特定效果

如果你只想容忍特定效果的污点,可以指定 effect

tolerations:
- key: "node-type"operator: "Equal"value: "gpu"effect: "NoSchedule"
- key: "node-type"operator: "Equal"value: "gpu"effect: "PreferNoSchedule"
5. 动态添加容忍度

如果你已经创建了 Pod,但需要动态添加容忍度,可以通过修改 Pod 的 YAML 文件并重新应用来实现:

kubectl get pod my-pod -o yaml > my-pod.yaml

编辑 my-pod.yaml 文件,添加 tolerations 部分,然后重新应用:

kubectl apply -f my-pod.yaml
6. 注意事项
  • 污点和容忍度的匹配:Pod 的容忍度必须与节点的污点完全匹配(键、值和效果),才能允许调度。

  • 动态更新:动态更新 Pod 的容忍度可能需要重新调度 Pod,这可能会导致 Pod 的重启。

  • 多节点调度:如果多个节点带有相同的污点,Pod 仍然会根据其他调度策略(如资源需求)选择最适合的节点。

通过合理配置污点和容忍度,你可以更好地控制 Pod 的调度行为,优化资源利用和隔离策略。

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

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

相关文章

第二章 硬件架构

第2章 硬件架构 本章的2.1讲述了一些与CPU相关的结构知识,本文从2.2开始复述。 2.2 集成GPU集成GPU,中的“集成”,是集成到芯片组的意思。下图展示了集成GPU的架构。可以看到,先前属于CPU的内存池现在可以被集成到…

智能体与企业转型:为什么AgenticHub是关键工具

引言:智能体在企业转型中的关键作用 在当今的商业环境中,人工智能(AI)已成为企业提高效率、降低成本和实现创新的核心工具。AgenticHub,一款创新的智能体平台,正在帮助企业在AI转型过程中加速智能体的部署和管理…

2025年比亚迪汉更换轮胎推荐:权威轮胎榜单精选推荐

2025年比亚迪汉更换轮胎推荐:权威轮胎榜单精选推荐为解决用户在“2025年比亚迪汉更换轮胎推荐”上的选择难题,本文将基于全球主流汽车媒体(如《AutoBild》、汽车之家等)的公开评测模型与数据,从以下四大核心维度,…

前端交互基石:Vue 与 Ajax 的高效协作(12.5)

在现代 Web 开发中,Vue.js 作为一款轻量、响应式的前端框架,几乎成了中小型项目的首选;而 Ajax(Asynchronous JavaScript and XML) 则是实现前后端异步通信的核心技术。二者结合,构成了绝大多数单页应用(SPA)的…

2025年中国铝氧化着色定制品牌五大推荐:看哪家技术实力强?

TOP1 推荐:佛山市南海区海光铝氧化有限公司 推荐指数:★★★★★ 口碑评分:国内专业的铝氧化着色定制品牌 专业能力:作为深耕铝氧化领域35年以上的资深企业,佛山市南海区海光铝氧化有限公司以质量第一,信誉至上为…

ZR2024 数据结构

started in 2025.12.5 15:55。 CF1762F Good Pairs给定一个长度为 \(n\) 的数组 \(a\),问有多少对 \((l,r)\) 满足存在一个首尾是 \(l,r\) 的单增下标子序列满足相邻对应数之差绝对值不超过 \(k\)。 \(n \leq 5 \time…

2025年奔驰E级更换轮胎推荐:专业轮胎选择官方攻略

2025年奔驰E级更换轮胎推荐:专业轮胎选择官方攻略在豪华行政轿车细分市场中,奔驰E级始终以精密的德系底盘调校、卓越的乘坐质感与智能化驾驶体验稳居主流阵营。进入2025年,伴随轮胎更换周期的到来,“2025年奔驰E级…

2025年二次元测量仪工厂有哪些?主要有哪些优质产品?

二次元测量仪工厂的产品涵盖多个领域,主要是为满足高精度测量的需求。比如,光学二次元测量仪企业提供的设备在精密检测上具有显著优势,尤其适用于小型和复杂零件的质量控制。同时,台面导轨二次元测量仪优质厂家的产…

2025年气力输送靠谱厂家TOP5推荐,气力输送设备厂家品牌

在工业自动化与环保升级的双重驱动下,粉体物料的高效、清洁输送已成为新能源、化工、食品等行业降本增效的核心环节。面对市场上参差不齐的气力输送设备厂家,企业如何精准选择既符合生产需求、又能保障长期稳定运行的…

why englush can not learn a lot of languages

english maust go a lot of counties to learn them. they can not learn them by deep reading because its not vision, its connection, its hearing.

2025年LED公司专业供应商有哪些?

在选择合适的LED公司时,了解不同供应商的特点至关重要。许多用户在采购时,往往关注公司的市场声誉、产品质量和技术支持等方面。通过对多家LED供应厂家进行比较,可以帮助用户找到符合自身需求的合作伙伴。此外,实际…

2025年修补防水涂料供应商排行榜:盘点十大专业厂家!

在2025年修补防水涂料供应商排行榜中,许多厂家的表现都值得关注。排行榜的核心是为了帮助消费者找到专业的修补防水涂料销售厂和可靠的供应商。每个厂家都有其特色,例如某些厂家强调生产环保材料,确保产品符合市场日…

2025年宝马5系更换轮胎推荐:十大轮胎品牌深度揭秘

2025年宝马5系更换轮胎推荐:十大轮胎品牌深度揭秘在全球高端运动轿车市场中,宝马5系以其独特的后驱架构与“运动豪华”双重基因,持续占据着高净值用户心智的核心位置。伴随2025年车辆保有量持续增长及轮胎更换周期的…

从测试小白到高手:JUnit 5 核心注解 @BeforeEach 与 @AfterEach 的实战指南 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

多线程?就是Redis单线程还

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年度自动化配料计量设备公司TOP5权威推荐:精准选型

在工业生产智能化、绿色化转型浪潮下,粉体、颗粒物料的自动化配料计量成为提升生产精度、降低成本的核心环节。2024年数据显示,国内自动化配料计量设备市场规模超120亿元,年增速达32%,但超30%的企业因设备精度不足…

2025螺旋输送机设备品牌TOP5权威推荐:新深度测评指南,

在环保工业物料输送领域,螺旋输送机作为粉体、颗粒物料转运的核心设备,是锂电池、化工、食品等行业实现清洁生产的关键一环。2024年数据显示,我国环保物料输送设备市场规模超300亿元,年增速达28%,但超30%的客户投…

挖矿病毒分析

挖矿病毒 现象 CPU利用率占满了,或者占50% 解决 ls -la /etc/cron* # 检查系统级定时任务 ls -la /var/spool/cron/crontabs/ # 检查所有用户的 crontab 文件# 里面就可以找到执行的程序 cat /etc/cron.hourly/MuU5…

模块会根据自学习到的权重对各输入进行加权组合,再经过卷积、BN和激活函数等进一步处理,形成新的融合特征图,是BiFPN内部的核心机制

softmax(或快速归一化)是连接"自学习权重"与"加权组合"的关键桥梁。完整的处理流程与softmax的作用位置复制输入特征图 (P3, P4, P5...)↓ 1. 自学习原始权重 (w₁, w₂, w₃...)↓ 2. 【Softma…

2025年本田CR-V更换轮胎推荐:专业轮胎排名必读指南

2025年本田CR-V更换轮胎推荐:专业轮胎排名必读指南在城市精英家庭购车决策链中,本田CR-V始终凭借均衡的空间表现、可靠的机械素质与品牌口碑,稳居合资SUV价值标杆地位。进入2025年,伴随首批服役轮胎逐步迈入更换周…