k8s集群调度和亲和性,污点和容忍

k8s调度概念

在这里插入图片描述

默认调度策略

在这里插入图片描述

亲和性

节点亲和性

在这里插入图片描述

硬节点亲和

kubectl get node --show-labels查看node节点上面的标签
k8s硬亲和,所有主机节点默认都有标签

在这里插入图片描述
硬亲和标签筛选
在这里插入图片描述
一直kubectl delete pod --all && kubectl create -f pod1.yaml一直删除再创建pod可看到pod一直分配在k8s-node01节点上面
在这里插入图片描述
将硬亲和策略改为标签匹配k8s-node03标签
在这里插入图片描述
删除pod后再次黄建,查看到pod一直pending状态无法启动

在这里插入图片描述

软节点亲和

希望分配到标签值为k8s-node03主机节点上面
在这里插入图片描述
如果是软亲和性,看到pod被分配到k8s-node01节点上了,不是硬性要求
在这里插入图片描述

硬节点亲和和软节点亲和结合demo

在这里插入图片描述
运算关系
在这里插入图片描述

POD亲和性

在这里插入图片描述

POD亲和性和反亲和性

在这里插入图片描述
在这里插入图片描述

POD亲和demo

1.先创建一个pod 在node01上面,并且标签打上app=node01
使用kubectl get pod --show-labels查看pod和其标签

在这里插入图片描述
2.新增一个pod,将其中的pod硬亲和改为根据标签为app=node-01

在这里插入图片描述
3.创建pod-3 查看到其分配的节点在k8s-node01节点和pod-1上面,无论怎么删除pod再次创建,pod都会分配到pod-1同一个节点上面
在这里插入图片描述
4.如果使用反亲和podAntiAffinity则pod-3重新删除再创建,不会和pod-1分配到统一节点上

在这里插入图片描述

污点和容忍

在这里插入图片描述

污点

在这里插入图片描述
在这里插入图片描述

查看k8s集群master的污点案例

在这里插入图片描述
在这里插入图片描述

污点的设置和去除及案例

kubectl taint nodes node节点 key值=value值:污点选项
在这里插入图片描述
kubectl taint nodes k8s-node01 check=wangyang:NoExecute
查看k8s-node01节点上面的pod正在关闭中.
在这里插入图片描述
过段时间pod全部消失
在这里插入图片描述
kubectl taint nodes node名称 key值=value值:effect-去除污点
在这里插入图片描述
查看污点为none
在这里插入图片描述

容忍

在这里插入图片描述

容忍配置及容忍案例

在这里插入图片描述
在这里插入图片描述
修改pod容忍配置和设置污点配置一样.
在这里插入图片描述
查看到pod-3正在运行状态
在这里插入图片描述
当k8s集群 中所有节点都没有资源时,允许master节点被分配node
在这里插入图片描述

调度

指定节点名调度

在这里插入图片描述
创建的7个副本都在k8s-node01
在这里插入图片描述

节点亲和

在这里插入图片描述

节点亲和demo

1.创建deployment在这里插入图片描述
2.查看2个副本的pod都是pending状态
在这里插入图片描述
3.对node节点打上disk:ssd标签后可以查看到pod启动起来了
在这里插入图片描述
4.查看到所有pod都是在NODE k8s-node01
在这里插入图片描述

おすすめ

転載: blog.csdn.net/Persistence___/article/details/117988153