kubernetes集群常用POD调度策略

1、kubernetes集群POD调度策略

(1)、NoSchedule: 一定不能被调度

(2)、PreferNoSchedule: 尽量不要调度

(3)、NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod


2、将master节点设置为可调度POD,即去除污点

kubectl describe no 192.168.1.12 # 查看节点Taints值

kubectl taint node 192.168.1.12 node-role.kubernetes.io/master-

# 执行结果

[root@192 kubeadm]# kubectl taint node 192.168.1.12 node-role.kubernetes.io/master-

node/192.168.1.12 untainted


3、将master节点设置为不可调度POD,即设置为污点

kubectl taint node 192.168.1.12 node-role.kubernetes.io/master=:NoSchedule

# 执行结果

[root@192 kubeadm]# kubectl taint node 192.168.1.12 node-role.kubernetes.io/master=:NoSchedule

node/192.168.1.12 tainted


4、驱逐已经运行的POD容器

kubectl drain --ignore-daemonsets 192.168.1.13


5、k8s集群node打污点,不被调度

kubectl cordon 192.168.1.13

kubectl taint nodes 192.168.1.13 node.kubernetes.io/unschedulable=:NoSchedule


6、k8s集群node去除污点

kubectl uncordon 192.168.1.13

或 kubectl taint nodes 192.168.1.13 node.kubernetes.io/unschedulable:NoSchedule-


7、将POD调度到指定工作节点的三种方法

第一:先创建label名称,再在deploy配置关联label名称

kubectl label node 192.168.1.13 learn.org/role=online

kubectl get node 192.168.1.13 --show-labels #查看节所有标签 nodeSelector为已创建label

spec:

nodeSelector:

learn.org/role: online


第二:nodeSelector配置为节点hostname

spec:

nodeSelector:

kubernetes.io/hostname: 192.168.1.13


第三:nodeName配置为节点IP

spec:

nodeName: 192.168.1.13


技术交流:https://edu.51cto.com/course/27452.html


kubernetes集群常用POD调度策略

上一篇:JSON文本转JSONObject对象


下一篇:vue-ref、js获取dom子元素