zoukankan      html  css  js  c++  java
  • 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]-
      
  • 相关阅读:
    软件工程实践 2017 第二次作业(部分)
    2017 软件工程实践第一次作业-031502627
    struct与class区别联系(转)
    个人作业——软件工程实践总结作业
    个人作业——软件产品案例分析
    个人技术博客(α)
    结对作业2
    软工作业2
    软工作业1
    作业7 学期总结
  • 原文地址:https://www.cnblogs.com/scajy/p/15481766.html
Copyright © 2011-2022 走看看