• k8s pod污点与污点容忍


    1. k8s-pod污点与污点容忍

    • Taints:避免Pod调度到特定Node上

    • Tolerations:允许Pod调度到持有Taints的Node上

    • 应用场景:

      • 专用节点:根据业务线将Node分组管理,希望在默认情况下不调度该节点,只有配置了污点容忍才允许分配
      • 配备特殊硬件:部分Node配有SSD硬盘、GPU,希望在默认情况下不调度该节点,只有配置了污点容忍才允许分配
      • 基于Taint的驱逐
    • 示例:给节点添加污点

      • 格式:

        kubectl taint node [node] key=value:[effect] 
        
      • 例如:

        kubectl taint node k8s-node1 gpu=yes:NoSchedule
        
      • 验证:

        kubectl describe node k8s-node1 |grep Taint 
        
    • 其中[effect] 可取值:

      • NoSchedule :一定不能被调度
      • PreferNoSchedule:尽量不要调度,非必须配置容忍
      • NoExecute:不仅不会调度,还会驱逐Node上已有的Pod
    • 如果希望Pod可以被分配到带有污点的节点上,要在Pod配置中添加污点容忍(tolrations)字段

      apiVersion: v1
      kind: Pod
      metadata:
        name: pod-taints
      spec:
        containers:
        - name: pod-taints
          image: busybox:latest
        tolerations:
        - key: "gpu"
          operator: "Equal"      # Equal等于 下面的值就
          value: "yes"
          effect: "NoSchedule"
      
    • 去掉污点

      kubectl taint node [node] key:[effect]-
      
  • 相关阅读:
    Linux下tomcat中多项目配置druid报错的问题
    chrome实用快捷键速记
    count 与 group by
    H5相机上传图片压缩
    图片通过转base64上传
    内网之间访问
    composer 加载第三方类库
    访问一个项目生成两个session文件原因
    arttemplate.js 如何不直接输出html代码
    Tomcat 支持多少并发量
  • 原文地址:https://www.cnblogs.com/scajy/p/15481766.html
Copyright © 2020-2023  润新知