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)

相关推荐

  • 如何进行CVE-2017-16943-进出口-UAF脆弱性分析

    技术怎么进行CVE-2017-16943-Exim-UAF漏洞分析本篇文章为大家展示了怎么进行CVE-2017-16943-Exim-UAF漏洞分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

    2021年12月20日
  • 怎么使用Python功能

    技术怎么使用Python功能这篇文章主要讲解了“怎么使用Python功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python功能”吧!变量赋值正如函数*ar

    攻略 2021年10月29日
  • SQL查询中什么时候需要使用表别名

    技术SQL查询中什么时候需要使用表别名这篇文章主要介绍SQL查询中什么时候需要使用表别名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL查询中什么时候需要使用表别名?1、 表名很长时selec

    攻略 2021年12月4日
  • 基于Python的算法数据集怎么实现

    技术基于Python的算法数据集怎么实现这篇文章主要介绍“基于Python的算法数据集怎么实现”,在日常操作中,相信很多人在基于Python的算法数据集怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年11月23日
  • Java中遍历ConcurrentHashMap的四种方式分别是什么

    技术Java中遍历ConcurrentHashMap的四种方式分别是什么本篇文章给大家分享的是有关Java中遍历ConcurrentHashMap的四种方式分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完

    攻略 2021年12月8日
  • ts在项目中的使用-三斜线引入 与 import区别

    技术ts在项目中的使用-三斜线引入 与 import区别 ts在项目中的使用-三斜线引入 与 import区别ts 在项目中的使用
    本次分享内容只涉及项目初始阶段如何引入ts及依赖插件的ts。
    ts为类

    礼包 2021年12月24日