美文网首页K8s
一文学会k8s调度策略

一文学会k8s调度策略

作者: sknfie | 来源:发表于2022-04-25 13:02 被阅读0次

1、 kubernetes集群POD调度策略

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

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

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

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

kubectl describe node 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 l earn. org/ rol e=onl i ne  # 创建 label

kubectl label node 192.168.1.13 learn.org/role-  # 删除 label

kubectl get node 192.168.1.13 --show-labels #查看节所有标签

# nodeSelecto r 为已创建 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

相关文章

网友评论

    本文标题:一文学会k8s调度策略

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