k8s运维06-kubectl delete node的过程是怎么样的

技术k8s运维06-kubectl delete node的过程是怎么样的这期内容当中小编将会给大家带来有关k8s运维06-kubectl delete node的过程是怎么样的,文章内容丰富且以专业的角度为大家分析和叙

本期,边肖将为大家带来k8s运维06-kubectl删除节点的过程信息。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。

一. 本节记录kubectl delete node的执行过程

delete是一个粗略的命令,它会直接驱逐被删除节点上的pod,并由其他节点创建(对于replicaset),然后将被删除的点从master的管理范围中移除,master失去管理控制。如果要将节点返回到其从属位置,必须在节点处重新启动kubelet。

提前查看所有node

以删除10.5.0.45为例,参见节点存在.

[root@k8smaster163075~]

$kubectlgetnodes

NAMESTATUSROLESAGEVERSION

10 . 5 . 0 . 44首先,调度disabledone 41 HV 1 . 11 . 3

10.5.0.45Readynone41hv1.11.3

10.5.0.46Readynone41hv1.11.3

10.5.0.47Readynone41hv1.11.3

10.5.0.48Readynone41hv1.11.3

10.5.0.49无就绪41 HV 1.11.3

查看所有pod

10.5.0.45节点有4个pod.

image.png

执行 kubectl delete node 10.5.0.45

[root @ k8smaster 163075 ~]

$ kubectlgetpods-ntest-kub easy-k8s-owide | grep 10 . 5 . 0 . 45

atlas-UAT-deployment

t-5b65898567-85jpb   1/1     Running   0          14m   10.5.45.104   10.5.0.45   <none>
atlas-uat-deployment-5b65898567-8l7gm   1/1     Running   0          41h   10.5.45.102   10.5.0.45   <none>
atlas-uat-deployment-5b65898567-cqzj7   1/1     Running   0          41h   10.5.45.103   10.5.0.45   <none>
atlas-uat-deployment-5b65898567-lzp7k   1/1     Running   0          41h   10.5.45.101   10.5.0.45   <none>
[root@k8smaster163075 ~]
$kubectl delete node 10.5.0.45
node "10.5.0.45" deleted

重新查看pod,看到新建了4台pod

image.png

master查看所有node
  • node已经不在master的控制范围

  • 对比kubectl drain/cordon node,

[root@k8smaster163075 ~]
$kubectl get nodes
NAME        STATUS                     ROLES    AGE   VERSION
10.5.0.44   Ready,SchedulingDisabled   <none>   41h   v1.11.3
10.5.0.46   Ready                      <none>   41h   v1.11.3
10.5.0.47   Ready                      <none>   41h   v1.11.3
10.5.0.48   Ready                      <none>   41h   v1.11.3
10.5.0.49   Ready                      <none>   41h   v1.11.3
ssh 到 10.5.0.45 机器
  • docker ps查看容器 已为空

[root@docker000045.ppdgdsl.com ~]
$docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
delete节点的恢复
  • 重启节点kubelet

  • 进入master查看node,节点10.5.0.45出现,AGE=2m16s,刚生效

[root@k8smaster163075 ~]
$kubectl get nodes
NAME        STATUS                     ROLES    AGE     VERSION
10.5.0.44   Ready,SchedulingDisabled   <none>   42h     v1.11.3
10.5.0.45   Ready                      <none>   2m16s   v1.11.3
10.5.0.46   Ready                      <none>   42h     v1.11.3
10.5.0.47   Ready                      <none>   42h     v1.11.3
10.5.0.48   Ready                      <none>   42h     v1.11.3
10.5.0.49   Ready                      <none>   42h     v1.11.3

二. cordon,drain,delete node区别

此三个命令都会使node停止被调度,后期创建的pod不会继续被调度到该节点上但操作的暴力程度不一


cordon 停止调度
  • 影响最小,只会将node调为SchedulingDisabled

  • 之后再发创建pod,不会被调度到该节点

  • 旧有的pod不会受到影响,仍正常对外提供服务

  • 恢复调度

kubectl uncordon node_name
drain 驱逐节点
  • 首先,驱逐node上的pod,其他节点重新创建

  • 接着,将节点调为** SchedulingDisabled**

  • 恢复调度

kubectl uncordon node_name
delete 删除节点
  • 首先,驱逐node上的pod,其他节点重新创建

  • 然后,从master节点删除该node,master对其不可见,失去对其控制,master不可对其恢复

  • 恢复调度,需进入node节点,重启kubelet

    • 基于node的自注册功能,节点重新恢复使用

systemctl restart kubelet

上述就是小编为大家分享的k8s运维06-kubectl delete node的过程是怎么样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37098.html

(0)

相关推荐

  • 如何使用FiddlerScript

    技术如何使用FiddlerScript如何使用FiddlerScript,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。没有用过Fiddler

    攻略 2021年11月17日
  • vscode中如何配置并使用.vue代码模板

    技术vscode中如何配置并使用.vue代码模板本篇内容介绍了“vscode中如何配置并使用.vue代码模板”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年10月27日
  • mysqldmulti创建管理多实例

    技术mysqldmulti创建管理多实例 mysqld_multi创建管理多实例#配置文件
    cat /etc/my.cnfEOF
    [client]
    socket=/tmp/mysql.sock[mysq

    礼包 2021年12月13日
  • 张僧繇怎么读,张僧繇的点睛之笔指的是什么

    技术张僧繇怎么读,张僧繇的点睛之笔指的是什么张僧繇是梁朝著名的画师。有一次,皇帝命令他在金陵安乐寺的墙壁上画龙。不一会儿,两条栩栩如生的龙就出现在墙壁上了。这时皇帝发现这两条龙都没有眼睛,就问张僧繇这是为什么。张僧繇回答

    生活 2021年10月30日
  • vue-cli脚手架中webpack配置基础文件有哪些

    技术vue-cli脚手架中webpack配置基础文件有哪些这篇文章主要讲解了“vue-cli脚手架中webpack配置基础文件有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月11日
  • idea如何整合docker快速部署springboot应用

    技术idea如何整合docker快速部署springboot应用小编给大家分享一下idea如何整合docker快速部署springboot应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这

    攻略 2021年10月31日