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实例
  • 相关阅读:
    [转]为Ubuntu Server安装gnome图形桌面环境
    [转]ubuntu 安装五笔输入法
    [转]更改文件所有者
    QT 透明设置
    ubuntu 交叉编译arm linux 内核
    Opencv vs 2005编译
    [转]在skyeye中运行uboot
    object的引用 与 foreach的使用
    音频和视频
    HTML5 Canvas API
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/8856172.html
Copyright © 2011-2022 走看看