k8s容忍度和污点(固定只运行某个服务)

2023-10-31

Taints污点的组成
使用kubectl taint命令可以给某个Node节点设置污点,Node被设置污点之后就和Pod之间存在一种相斥的关系,可以让Node拒绝Pod的调度执行,甚至将Node上已经存在的Pod驱逐出去。

每个污点的组成如下:
key=value:effect
每个污点有一个key和value作为污点的标签,effect描述污点的作用。当前taint effect支持如下选项:
NoSchedule:表示K8S将不会把Pod调度到具有该污点的Node节点上
PreferNoSchedule:表示K8S将尽量避免把Pod调度到具有该污点的Node节点上
NoExecute:表示K8S将不会把Pod调度到具有该污点的Node节点上,同时会将Node上已经存在的Pod驱逐出去

污点taint的NoExecute详解
taint 的 effect 值 NoExecute,它会影响已经在节点上运行的 pod:

如果 pod 不能容忍 effect 值为 NoExecute 的 taint,那么 pod 将马上被驱逐
如果 pod 能够容忍 effect 值为 NoExecute 的 taint,且在 toleration 定义中没有指定 tolerationSeconds,则 pod 会一直在这个节点上运行。
如果 pod 能够容忍 effect 值为 NoExecute 的 taint,但是在toleration定义中指定了 tolerationSeconds,则表示 pod 还能在这个节点上继续运行的时间长度。

可见已经添加上了污点
[root@k8s-master taint]# kubectl describe node k8s-node01
 Name:               k8s-node01
 Roles:              <none>
 Labels:             beta.kubernetes.io/arch=amd64
                     beta.kubernetes.io/os=linux
                     cpu-num=12
                     disk-type=ssd
                     kubernetes.io/arch=amd64
                     kubernetes.io/hostname=k8s-node01
                     kubernetes.io/os=linux
                     mem-num=48
 Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"3e:15:bb:f8:85:dc"}
                     flannel.alpha.coreos.com/backend-type: vxlan
                     flannel.alpha.coreos.com/kube-subnet-manager: true
                     flannel.alpha.coreos.com/public-ip: 10.0.0.111
                     kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
                     node.alpha.kubernetes.io/ttl: 0
                     volumes.kubernetes.io/controller-managed-attach-detach: true
 CreationTimestamp:  Tue, 12 May 2020 16:50:54 +0800
 **Taints:             test=true:NoSchedule**   ### 可见已添加污点
 Unschedulable:      false```


通过添加Tolerations来匹配容忍度然后调度到相应的节点
其中key、value、effect要与Node上设置的taint保持一致
operator的值为Exists时,将会忽略value;只要有key和effect就行
tolerationSeconds:表示pod 能够容忍 effect 值为 NoExecute 的 taint;当指定了 tolerationSeconds【容忍时间】,则表示 pod 还能在这个节点上继续运行的时间长度。

tolerations:

  • key: “key”
    operator: “Equal”
    value: “value”
    effect: “NoSchedule”

tolerations:

  • key: “key”
    operator: “Exists”
    effect: “NoSchedule”

tolerations:

  • key: “key”
    operator: “Equal”
    value: “value”
    effect: “NoExecute”
    tolerationSeconds: 3600 (容忍度持续的时间)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s容忍度和污点(固定只运行某个服务) 的相关文章

随机推荐

  • matlab解决线性规划

    线性规划 线性规划 Linear programming 简称LP 是运筹学中研究较早 发展较快 应用广泛 方法较成熟的一个重要分支 它是辅助人们进行科学管理的一种数学方法 研究线性约束条件下线性目标函数的极值问题的数学理论和方法 英文缩写
  • 数据库间歇性失败 OERR: ORA-12519

    ORA 12519 TNS 没有找到适用的服务处理 OERR ORA 12519 TNS no appropriate service handler found 客户端连接间歇性失败 报错ORA 12519 Oracle客户端与服务器之间
  • select、poll、epoll之间的区别(搜狗面试)(转载)

    1 select gt 时间复杂度O n 它仅仅知道了 有I O事件发生了 却并不知道是哪那几个流 可能有一个 多个 甚至全部 我们只能无差别轮询所有流 找出能读出数据 或者写入数据的流 对他们进行操作 所以select具有O n 的无差别
  • 云服务器文件打包,如何把云服务器的文件打包出来

    如何把云服务器的文件打包出来 内容精选 换一换 文档数据库服务支持开启公网访问功能 通过弹性IP进行访问 您也可通过弹性云服务器的内网访问文档数据库 要将已有的MongoDB数据库迁移到文档数据库 需要先使用mongoexport工具对它做
  • boa的cgi使用总结

    相关配置 配置ScriptAlias 虚拟路径 真实路径 ScriptAlias cgi bin etc boa www cgi bin 指明CGI脚本的虚拟路径对应的实际路径 一般所有的CGI脚本都要放在实际路径里 用户访问执行时输入站点
  • 如何让 uni-app 页面中的背景图片高度和宽度自适应

    如何让 uni app 页面中的背景图片高度和宽度自适应 在今天做项目的时候突然遇到一个问题 我给页面加一个背景图片 但是当页面高度超过100 时 图片会覆盖不到 如图所示 写的代码是这样的 错误的代码 App vue 页面
  • 创建、运行线程,设置线程属性

    Java 9并发编程指南 目录 创建 运行线程 设置线程属性 准备工作 实现过程 工作原理 扩展学习 更多关注 a中有两种方式创建一个线程 继承Thread 类 重写run 方法 创建一个类 实现Runnable接口和run 方法 然后通过
  • 递归算法实现链表两数相加

    LeetCode2题 链表两数相加递归实现 思路 递归 就是在一个方法了不断调用自己 使用递归 明确三点 1 递归终止的条件 2 找返回值 3 本级递归应该做什么 递归只关心本一级需要做什么 而不需要想下一步做什么 即使可能存在很多步 只需
  • leetcode1047——Remove All Adjacent Duplicates In String

    题目大意 一次遍历 删除字符串中所有的相邻重复字符 比如abbaca gt ca 分析 用字符串实现栈 遍历字符串 如果当前字符和栈顶相同就弹栈 否则入栈 代码 class Solution public string removeDupl
  • icmp报文

    一 概述 1 ICMP允许主机或路由报告差错情况和提供有关异常情况 ICMP是因特网的标准协议 但ICMP不是高层协议 而是IP层的协议 通常ICMP报文被IP层或更高层协议 TCP或UDP 使用 一些ICMP报文把差错报文返回给用户进程
  • NDK No implementation found for void com.*

    android jni 遇到报错No implementation found for void com 很多时候遇到这种情况 查找不到原因 还有的时候 之前好好的 后来出错了 再去检查C代码确实有实现的方法 那么问题在哪呢 这边建议去查看
  • css 行高

    1 什么是行高 以及行高的概念 我们可以试想一下 为什么会要有行高 我现在不需要行高不是完全可以的嘛 我们可以仔细看看这个 这不是很正常的嘛 那我们来看看这个 那当我们第一次看到这个的时候你觉得是横着度 还是竖着读 合理的行高可以让我们阅读
  • 打印ONNX/TRT文件的所有节点

    给一段python代码 可以查看 onnx文件的所有节点 import onnx def print graph nodes model path 加载 ONNX 模型 model onnx load model path 遍历所有图节点并
  • 量化策略——准备2 量化技能树&量化术语

    文章目录 量化技能树 量化 金融术语 1 俗语 2 持仓术语 3 资金术语 4 策略术语 5 股票软件界面实用术语 量化必然用到的核心价格数据 其他数据 指标含义 6 委托单术语 量化技能树 首先 量化金融 Quantitative Fin
  • leetcode 有效的括号(栈)

    有效的括号 给定一个只包括 的字符串 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 注意空字符串可被认为是有效字符串 示例 1 输入 输出 true 示例 2 输入 输出 true 示例
  • 前端实现表单嵌套表格,el-form内部包着el-table并实现校验功能与动态添加表格的表单数据

    一 待实现的场景图 如下 二 元素部分实现方式代码如下图
  • 【开发工具集】Process Explorer——进程资源管理器

    进程资源管理器 特性 Process Explorer 是 Sysinternals 出品的工具 其在功能方面的独特之处有以下几点 显示进程安全令牌 比如安全组列表 特权 以及虚拟化状态 加亮显示进程和线程列表中的变化 列出服务宿主进程中的
  • vue_cli的vue.config.js文件常用配置

    vue cli的vue config js文件 vue config js文件常用配置 vue config js文件常用配置 module exports 手机端访问 devServer disableHostCheck false 安装
  • 父子组件通信

    父子组件通信 父子之间数据的传递 根组件data传子组件 当子组件props里的对象名有大写时出现的问题 props驼峰标识 子组件传父组件 父子之间的访问 父组件访问子组件的内容 父子之间数据的传递 根组件data传子组件 在子组件使用p
  • k8s容忍度和污点(固定只运行某个服务)

    Taints污点的组成 使用kubectl taint命令可以给某个Node节点设置污点 Node被设置污点之后就和Pod之间存在一种相斥的关系 可以让Node拒绝Pod的调度执行 甚至将Node上已经存在的Pod驱逐出去 每个污点的组成如