Kubernetes 之 Pod 容忍度与节点污点

Kubernetes 之 Pod 容忍度与节点污点

Pod 的容忍度与节点污点的定义

节点污点taints和 Pod 容忍度terlerations是结合使用的。它给了节点选择 Pod 的权利,污点设置了effect参数来选择 Pod,如果 Pod 的容忍度级别不够,那么 Pod 将不会出现在该节点上,反之,则有可能被分配这个节点上。控制节点默认设置的污点如下:

root@k8s-master1:~# kubectl describe nodes k8s-master1 | grep Taints
Taints:             node-role.kubernetes.io/control-plane:NoSchedule

污点 effect 级别

级别 定义
NoExecute 最高级别,驱逐不能容忍该污点的 已经在运行的 Pod,不允许不容忍该污点 Pod 被调度上该节点
NoSchedule 不允许不容忍该污点 Pod 被调度器调度上该节点,但已运行的 Pod 不受干扰,不通过调度器调度的 Pod 也不受干扰
PreferNoSchedule 尽可能不调度不容忍该污点的 Pod 到此节点上

节点污点与 Pod 容忍度使用

  1. 先将两个工作节点打上运维污点

    kubectl taint nodes k8s-worker1 maintenance:NoExecute
    kubectl taint nodes k8s-worker2 maintenance:NoExecute
    
  2. 尝试创建一个 Pod 在工作节点上

    root@k8s-master1:~# kubectl apply -f test-pod.yaml
    pod/k8s-test created
    root@k8s-master1:~# kubectl get pods -ntest
    NAME       READY   STATUS    RESTARTS   AGE
    k8s-test   0/1     Pending   0          12s
    root@k8s-master1:~# kubectl describe pods k8s-test -ntest
    Events:
      Type     Reason            Age   From               Message
      ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值