k8s集群调度和亲和性,污点和容忍
k8s调度概念默认调度策略亲和性节点亲和性硬节点亲和kubectl get node --show-labels查看node节点上面的标签k8s硬亲和,所有主机节点默认都有标签硬亲和标签筛选一直kubectl delete pod --all && kubectl create -f pod1.yaml一直删除再创建pod可看到pod一直分配在k8s-node01节点上面将硬亲和策
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
更多推荐
所有评论(0)