K8S调度器 污点使用方法

作者: lyy910203 | 来源:发表于2019-06-13 15:31 被阅读2次
默认调度是:最大空闲资源调度

调度器

预算策略

CheckNodeCondition:检查节点网络磁盘等是否正常

GeneralPredicates:通用预选策略

HostName:检查pod对象是否定义了pod.spec.hostname

podFitsHostPorts: pods.spec.containers.ports.hostPort

MatchNNodeSelector:pods.spec.nodeSelector

PodFitsResources:检查Pod资源需求能否被节点满足

NoDiskConflict:检查pod依赖的存储卷能否满足,默认不启用

PodToleratesNodeTaints:检查Pod上的spec.tolerations客容忍五点是否包含节点污点

PodToleratesNodeBoExecteTaints:默认不启用

CheckNodeLabelPresence:检查节点标签存在,默认不启用

CheckServiceAffinity:根据当前pod所属pod所属对象services放在同一个node

污点调度

  • 查看节点污点

kubectl describe node node-name

官方文档:https://kubernetes.io/zh/docs/concepts/configuration/taint-and-toleration/

  • 节点添加污点

kubectl taint nodes node1 key=value:NoSchedule

kubectl taint nodes node1 key=value:NoExecute

kubectl taint nodes node1 key=value:PreferNoSchedule
    • NoSchedule:K8Snode添加这个effecf类型污点,新的不能容忍的pod不能再调度过来,但是老的运行在node上不受影响
    • NoExecute:K8Snode添加这个effecf类型污点,新的不能容忍的pod不能调度过来,老的pod也会被驱逐
    • PreferNoSchedule:pod会尝试将pod分配到该节点
  • 节点删除污点:

kubectl taint nodes kube11 key:NoSchedule-
  • pod设置容忍一个污点

apiVersion: apps/v1Beta1
kind: Deployment
metadata:
  name: nginx-deploy
spec:
  replicas: 1
    selector:
      matchLabels:
        app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        images: nginx:laste
        ports:
        - containerPort: 80       
    tolerations:  #containers同级
    - key: "key1"          #能容忍的污点key
      operator: "Equal"    #Equal等于表示key=value , Exists不等于,表示当值不等于下面value正常
      value: "value1"      #值
      effect: "NoExecute"  #effect策略,见上面
      tolerationSeconds: 3600  #原始的pod多久驱逐,注意只有effect: "NoExecute"才能设置,不然报错

相关文章

  • K8S调度器 污点使用方法

    默认调度是:最大空闲资源调度 调度器 预算策略 CheckNodeCondition:检查节点网络磁盘等是否正常 ...

  • k8s 去除master节点污点NoSchedule,添加mas

    k8s 去除master节点(k8s-master02)污点NoSchedule,添加master节点 尽量不调度...

  • K8S-污点与污点容忍

    Taints(污点):避免Pod调度到特定的Node上Tolerations(污点容忍): 允许Pod调度到持有T...

  • k8s搭建xxl-job测试环境

    背景 搭建本地k8s环境和xxl-job测试环境,在k8s环境中跑通xxl-job调度器和执行器 搭建k8s 注:...

  • K8s影响Pod调度相关

    调度方式 定向调度 亲和性调度 污点与容忍 1. 定向调度 1.1 nodeName nodeName 用于强制约...

  • XXL-JOB部署到k8s时遇到的问题

    问题描述 我们的执行器和调度器都部署在k8s平台上。公司k8s平台要求所有日志都必须输出到控制台(这也是k8s的标...

  • k8s schedule深入理解

    k8s的调度器是k8s中逻辑相对最简洁的组件,调度的两个对象是Node和Pod,主要目的就是为了给Pod分配合适的...

  • k8s 调度

    k8s 调度

  • k8s高级调度污点和容忍

    一、查看集群中 Master 节点 taint 设置 kubectl get node k8s-master-no...

  • kube-batch--简介

    背景 K8s本身的调度器具有一些缺陷:(1) 默认的调度器是以 pod 为粒度的,对机器学习任务很不利。(2)默认...

网友评论

    本文标题:K8S调度器 污点使用方法

    本文链接:https://www.haomeiwen.com/subject/iyssfctx.html