赞
踩
resource:
requests:
...... #调度
limits:
...... #最大
restartPlicy:never
# Always:当容器终止推出之后,总是重启容器,默认策略
# OnFailure:当容器异常退出(退出状态码非0)时,才重启
# Never:当容器终止退出,从不重启容器
livenessProbe(存活检查)
如果检查失败,将杀死容器,根据pod的restartPolicy来操作
readinessProbe(就绪检查)
如果检查失败,k8s会把pod从service endPoints中剔除
probe支持以下三种检查方法
由client向master上的API Sever请求,然后将pod存储在etcd上,存储信息返回至API Server,由API Server告知Schedule为其分配node,在分配完node之后将结果返回API Server,并将结果存储在etcd上;node节点访问API Server然后读取etcd拿到分配给当前节点的pod,然后响应给docker创建容器。
详细过程点击查看图解
影响调度的属性
pod资源限制对pod调度产生影响
节点选择标签影响pod调度
节点亲和性影响pod调度
节点亲和性nodeAffinity和之前nodeSelector基本一样的,根据节点上标签约束来决定pod调度到哪些节点上
支持常用的操作符:
operator:In,NotIn,Exists,Gt,Lt,DoesNotExists
污点和污点容忍
Taint污点:节点不做普通分配调度,是节点属性
场景:
专用节点、配置特点硬件节点、基于Taint驱逐
污点值有三个:NoSchedule:一定不被调度
PreferNoSchedule:尽量不被调度
NoExecute:不会嗲殴打,并且还会驱逐Node已有pod
查看污点:
kubectl describe node node1 | grep Taint
为节点添加污点:
kubectl taint node [node] key=value:污点三个值
kubectl taint node node1 env=yes:NoSchedule
删除节点:
kubectl taint node node1 env:Noschedule -node/node1 untainted
污点容忍:
tolerations:
类似于软亲和,即是NoSchedule,也可能被调用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。