k8s调度策略设置-调度
一、禁止master节点调度有两种方法,一种是自带的命令(越来越完善了)另一种是通过添加污点来禁止调度。1、自带命令cordon 和 uncordon是k8s上的两个维护命令,一般用于节点出现问题时维护使用的。kubectl cordon master 禁止节点调度kubeclt uncordon master 允许节点调度2、设置污点语法:kubectl taint node [node] ke
一、禁止master节点调度
有两种方法,一种是自带的命令(越来越完善了)另一种是通过添加污点来禁止调度。
1、自带命令
cordon 和 uncordon是k8s上的两个维护命令,一般用于节点出现问题时维护使用的。
kubectl cordon master 禁止节点调度
kubeclt uncordon master 允许节点调度
2、设置污点
语法:
kubectl taint node [node] key=value[effect]
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod
示例:kubectl taint node k8s-master node-role.kubernetes.io/master-
允许master调度
kubectl taint nodes master node-role.kubernetes.io/master=:NoSchedule
禁止master调度
kubectl describe node master |grep Taints
查看污点
3、设置容忍master污点
在 pod 的 spec 中设置 tolerations 字段
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Equal"
value: ""
effect: "NoSchedule"
二、k8s强制删除Terminating状态的资源
kubectl delete pod [pod name] --force --grace-period=0 -n [namespace]
pod
kubectl patch pv pv001 -p ‘{"metadata":{"finalizers":null}}‘
pv
kubectl patch pvc my-pvc -p ‘{"metadata":{"finalizers": []}}‘ --type=merge
pvc
运行状态查看
nodeport 占用kubectl get service -n kxyyq4 |grep NodePort
cpu占用kubectl top pod -n kxyyq4
列出的cpu,比如700m就是7个完整的CPU。找到对应的rs调整他的cpu就好了。
命名空间设置资源限额kubectl describe namespace kxyyq4
三、驱逐机器上的pod
四、禁止node节点调度
更多推荐
所有评论(0)