简介

Node是Pod真正运行的主机,可以是物理机也可以是虚拟机。

Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源。

为了管理Pod,每个Node节点上至少需要运行container runtime(Docker)、kubelet和kube-proxy服务。

node基本操作:kubectl get nodes,查询所有node

从k8s移除node节点

获取节点列表:kubectl get node

确认需要移除的节点上面没有部署我们所需要的资源:kubectl get pod -A -owide |grep "k8s-node02"

设置不可调度(不分配新的资源到该节点上),也就是下线:kubectl cordon k8s-node02

(另外,上线:kubectl uncordon k8s-node02)

检查节点状态,kubectl get nodes

被标记为不可调度节点,节点状态变成:Ready,SchedulingDisabled

驱逐节点上的Pod(先驱赶掉上面的pod,daemonset不会被排出节点,其它的pod自动转移到其它节点;drain意为排出,此时卸载节点,但是没有删除;drain命令会自动把node设置为不可调度,所以可以省略上面执行的cordon命令)

驱逐前,在k8s-node02上

kubectl drain k8s-node02 --delete-local-data --force --ignore-daemonsets

驱逐后,自动转移到k8s-node01上了

节点上pod都被驱逐后,可以直接移除节点:kubectl delete node k8s-node02

这样就平滑移除了一个 k8s 节点

在被删除的node节点中清空集群数据信息【被删除节点执行】:

清空前:

kubeadm reset -f

清空后:

k8s新增node节点

新的node需要安装docker和k8s基础组件,参考:https://www.cnblogs.com/uncleyong/p/15499732.html

在master节点查看集群的token值,其中TTL值默认token的有效期为24小时,当过期之后,该token就不可用了。

kubeadm token list

上面结果为空,说明过期了,可以master上重新生产token并获取hash值:kubeadm token create --print-join-command

kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249

生成永久Token:kubeadm token create --ttl 0 --print-join-command

kubeadm token list

获取Token:kubeadm token list | awk -F" " '{print $1}' |tail -n 1

将node节点重新添加到k8s集群中【被添加节点执行】

kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249

master查看新节点的是否加入,如果新加节点是NotReady状态,重启kubelet后就变成Ready了(systemctl restart kubelet)

kubectl get nodes【master执行】

kubectl get pods -n kube-system -owide【master执行】

验证:调度到指定节点,nodeName: k8s-node02

curl 172.27.14.193

彻底删除:https://www.cnblogs.com/uncleyong/p/15789371.html

k8s节点简介、移除节点、新增节点的更多相关文章

  1. k8s系列--node(k8s节点介绍,新增节点,移除节点)

    一.简介 Node是Pod真正运行的主机,可以是物理机也可以是虚拟机. Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源. 为了管理Pod,每个Node节 ...

  2. Kubernetes容器集群管理环境 - Node节点的移除与加入

    一.如何从Kubernetes集群中移除Node比如从集群中移除k8s-node03这个Node节点,做法如下: 1)先在master节点查看Node情况 [root@k8s-master01 ~]# ...

  3. redis节点管理-节点的移除

    原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg13.html 节点的移除 和节点添加一样,移除节点也有移除主节点,从节点. 1.移除主节点 移除节点使 ...

  4. MongoDB 复制集节点增加移除及节点属性配置

    复制集(replica Set)或者副本集是MongoDB的核心高可用特性之一,它基于主节点的oplog日志持续传送到辅助节点,并重放得以实现主从节点一致.再结合心跳机制,当感知到主节点不可访问或宕机 ...

  5. redis 集群新增节点,slots槽分配,删除节点, [ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GET...

    redis reshard 重新分槽(slots) https://github.com/antirez/redis/issues/5029 redis 官方已确认该bug redis 集群重新(re ...

  6. 实验-hadoop新增节点

    关于hadoop新增节点网上的说法都有些差别,自己来实践一把 1.建立一个namenode一个datanode的集群 master:192.168.126.130 slave1:192.168.126 ...

  7. CDH5.16.1集群新增节点

    如果是全新安装集群的话,可以参考<Ubuntu 16.04上搭建CDH5.16.1集群> 下面是集群新增节点步骤: 1.已经存在一个集群,有两个节点 192.168.100.19 hado ...

  8. 解决jQuery ajax动态新增节点无法触发点击事件的问题

    在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢? 其实最简单的方法就是直接在标签中写onclick="" ...

  9. kubernetes 集群新增node 节点并将应用分配到新增节点

    第一章 1.重新安装一台kubernetes node节点,新增节点:192.168.1.192 网址:https://www.cnblogs.com/zoulixiang/p/9504324.htm ...

随机推荐

  1. gin框架中集成casbin-权限管理

    概念 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...

  2. elasticsearch 申请basic证书

    如果elasticsearch使用低于6.3版本的,basic证书默认1个月,需要申请,可使用时间为1年. 申请地址为: https://license.elastic.co/registration ...

  3. 学习JAVAWEB第五天

    # 今日内容 1. JavaScript基础 ## JavaScript: * 概念: 一门客户端脚本语言 * 运行在客户端浏览器中的.每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不 ...

  4. mvvm与mvc的定义与区别

    mvvm: 即Model-View-ViewModel(模型-视图-视图模型)的简写. 模型(Model):后端传递的数据 视图(View):即前端渲染的页面 视图模型:是 mvvm 的核心,是连接 ...

  5. Github上点赞90k的计算机基础、操作系统、网络笔记,赶紧收藏

    最近,有粉丝发消息给我,说想要好好学习计算机,但是找不到门路啊,所以小编打算给大家推荐一些很奈斯的计算机学习的资料,希望大家赶紧收藏起来好好学习. 资料分为四份,给大家展示了部分内容,头条受限,无法全 ...

  6. nginx103

    user  nobody;worker_processes  1;error_log  /home/logs/error.log  info;#pid        logs/nginx.pid;ev ...

  7. 理解java线程的中断(interrupt)

    一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等. 所以你看到Thread.suspend, Threa ...

  8. Shell中退出状态码exit

    shell中运行的每个命令都使用退出状态码(exit status)来告诉shell它完成了处理.退出状态码是一个0~255之间的整数值,在命令结束时由命令传回shell. 1 .查看退出状态码 Li ...

  9. springboot实现分布式锁(spring integration,redis)

    Springboot实现分布式锁(Spring Integration+Redis) 一.在项目的pom.xml中添加相关依赖 1)Spring Integration依赖 <dependenc ...

  10. spring filter详解

    一.Filter基本工作原理 1.Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的. 2.当在 web.xml 注册了一个 ...