• 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]-
      
  • 相关阅读:
    string类
    设计模式--策略模式
    设计模式--单例模式
    Python 3.7的安装过程
    为什么学习Python?
    折半查找、选择排序在一位数组中的应用
    三天打鱼两天晒网
    字符串逆序
    求字符串长度函数实现的三种方法
    Spring学习笔记一 IOC、AOP原理
  • 原文地址:https://www.cnblogs.com/scajy/p/15481766.html
Copyright © 2020-2023  润新知