zoukankan      html  css  js  c++  java
  • Taints和Tolerations

    Taints和Tolerations和搭配使用的,Taints定义在Node节点上,声明污点及标准行为,Tolerations定义在Pod,声明可接受得污点。

    可以在命令行为Node节点添加Taints:

    kubectl taint nodes node1 key=value:NoSchedule

    也可以直接在node的定义中修改annotations:

    annotations:
      scheduler.alpha.kubernetes.io/taints: '[{"key":"xxx","operator":"Equal","value":"yyy","effect":"NoSchedule"}]'

    operator可以定义为:

    • Equal 表示key是否等于value,默认
    • Exists 表示key是否存在,此时无需定义value

    effect可以定义为:

    • NoSchedule 表示不允许调度,已调度的不影响
    • PreferNoSchedule 表示尽量不调度
    • NoExecute 表示不允许调度,已调度的在tolerationSeconds(定义在Tolerations上)后删除

    Node和Pod上都可以定义多个Taints和Tolerations,Scheduler会根据具体定义进行筛选,Node筛选Pod列表的时候,会保留Tolerations定义匹配的,过滤掉没有Tolerations定义的,过滤的过程是这样的:

    • 如果Node中存在一个或多个影响策略为NoSchedule的Taint,该Pod不会被调度到该Node
    • 如果Node中不存在影响策略为NoSchedule的Taint,但是存在一个或多个影响策略为PreferNoSchedule的Taint,该Pod会尽量不调度到该Node
    • 如果Node中存在一个或多个影响策略为NoExecute的Taint,该Pod不会被调度到该Node,并且会驱逐已经调度到该Node的Pod实例
  • 相关阅读:
    python连接mysql循环插入千万条数据脚本
    jmeter多用户登录并发测试
    appium元素定位总结
    appium元素定位工具
    修复mysql的表
    mysql 数据去重
    MySQL表结构(含数据类型、字段备注注释)导出成Excel
    linux top 的用法
    linux 查看 cpu
    linux 怎么在后台添加运行脚本,即使关机也可以用
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/8856172.html
Copyright © 2011-2022 走看看