news 2026/6/18 6:20:55

【k8s设置污点/容忍】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【k8s设置污点/容忍】

背景:
一个应用占用的资源很大,而节点不是很大时,需要让这个应用单独占据一个节点,不让别的应用调度到这个节点上,从而避免业务高峰时资源不够

  1. 在node上设置污点

    kubectl taint nodes node-1 dedicated=admin-server:NoSchedule

    其中dedicated=admin-server是key,value自定义的,NoSchedule是effect,表示新的pod不能调度到这个节点上

  2. 在pod上设置容忍

    spec: tolerations: - key: "dedicated" operator: "Equal" value: "admin-server" effect: "NoSchedule"

    这个tolerations跟node上的taint对应,表示能够容忍这个污点

  3. 在node打标签,设置标签选择器

    上面两部只能让pod容忍这个node,且node上不调度别的pod,但是目标pod还是会调度到别的节点上,所以需要nodeSelector来让pod固定到目标node上

    node上打标签:

    kubectl label node node-1 selector=admin-node

    pod上设置标签选择器

    spec: nodeSelector: selector: admin-node

这样这个pod就只能调度到这个node上了

  1. 亲和度问题

    但是这样设置一旦目标node notready,目标pod并会调度到别的节点上而是变成pending状态等待调度,所以可以把标签选择器换成affinity(亲和度)

    spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchExpressions: - key: selector operator: In values: - admin-node

    其中:
    preferred: 不是强制条件
    DuringScheduling: 只在调度时生效
    IgnoredDuringExecution: 运行期间不再管

    这样,当node挂了时,pod消失,Deployment重现创建pod,再根据affinity打分,目标node为0分,pod调度到别的节点

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 8:30:19

华为OD机试真题双机位C卷 【采购订单】C语言实现

采购订单 2025华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 算法考点详解 题目描述 在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(P…

作者头像 李华
网站建设 2026/6/10 19:28:30

2026必备!8个AI论文平台,助你轻松搞定本科毕业论文!

2026必备!8个AI论文平台,助你轻松搞定本科毕业论文! AI 工具的崛起,让论文写作不再难 在当前这个信息爆炸的时代,学术研究和论文写作已成为本科生必须面对的重要任务。无论是课程作业还是毕业论文,都对学生…

作者头像 李华
网站建设 2026/6/9 19:39:42

突破AI原生应用领域可控性的瓶颈

突破AI原生应用领域可控性的瓶颈:从"黑箱魔法"到"透明工坊" 关键词:AI原生应用、可控性、可解释性、意图对齐、动态反馈 摘要:当AI从"辅助工具"进化为"原生构建者",我们不再满足于它"偶尔给出惊喜",而是需要它"稳…

作者头像 李华
网站建设 2026/6/15 10:48:31

渗透测试该如何系统学习?一份从小白到实战的学习路径规划

渗透测试该如何系统学习?一份从小白到实战的学习路径规划 在网络安全持续升温的今天,越来越多的人开始关注“渗透测试”这一硬核技能。但渗透测试门槛不低,很多新手一上来就被术语、工具和庞杂的学习路径劝退。 那么,渗透测试到…

作者头像 李华