0
点赞
收藏
分享

微信扫一扫

WebLogic面试题精要和参考答案(2万字长文)

书呆鱼 2024-06-18 阅读 35

目录

一、概念

二、使用

1.cordon 停止调度

1.1.停止调度

1.2.解除恢复

2.drain 驱逐节点

2.1.驱逐节点

2.2.参数介绍

2.3.解除恢复

3.delete 删除节点


一、概念

二、使用

1.cordon 停止调度

1.1.停止调度

影响最小,node的STATUS调为SchedulingDisabled,新创建pod,不会被调度到该节点,节点原有pod不受影响,仍正常对外提供服务。

# 停止调度节点
[root@k8s1 k8s-yaml]# kubectl cordon k8s2
node/k8s2 cordoned

[root@k8s1 k8s-yaml]# kubectl get node -owide
NAME   STATUS                     ROLES                  AGE   VERSION    INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s1   Ready                      control-plane,master   12d   v1.23.17   192.168.11.11   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://19.3.13
k8s2   Ready,SchedulingDisabled   <none>                 12d   v1.23.17   192.168.11.12   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://19.3.13

1.2.解除恢复

# 可使用 uncordon  恢复
[root@k8s1 k8s-yaml]# kubectl uncordon k8s2
node/k8s2 uncordoned

2.drain 驱逐节点

首先驱逐node上的pod,在其他节点重新创建,然后将节点调为SchedulingDisabled。

2.1.驱逐节点

kubectl drain k8s2 --ignore-daemonsets

2.2.参数介绍

kubectl drain k8s2 --ignore-daemonsets --delete-emptydir-data

kubectl get pods -o wide -A | grep k8s2

驱逐pod后,我们会发现,k8s2还存在两个pod; 一个是flannel组件还有一个是kube-proxy代理pod;我们不用管这两个没有被驱逐的pod;

2.3.解除恢复

也是使用kubectl uncordon k8s2恢复

# 恢复
[root@k8s1 k8s-yaml]# kubectl uncordon k8s2
node/k8s2 uncordoned

3.delete 删除节点

最暴力的一个,首先驱逐node上的pod,在其他节点重新创建,然后,从master节点删除该node,master失去对其控制,如要恢复调度,需进入node节点,重启kubelet服务

kubectl delete node k8s2

关于节点扩缩容的具体操作流程可关注后面的文章
 

举报

相关推荐

0 条评论