当前位置: 首页 > news >正文

11.6.k8s实战-节点扩缩容

目录

一,需求描述

二、集群缩容-节点下线

1,节点下线案例说明

2,查看现有节点

3,查看所有名称空间下的pod

​编辑4,驱逐下线节点的pod

5,驱逐后再次查看pod

6,驱逐pod后再次查看节点信息

7,给要下线的节点打上污点

8,再次查看要下线节点的pod

9,下线节点重置

9.1.需要到要下线的节点中执行“重置”命令,重置下线节点

9.2. 删除要下线节点的cni网络目录

9.3.清空路由规则 

9.4.查看打印规则

10,删除掉节点

三、集群扩群-节点上线

1,给上线节点安装必要组件

2,master节点创建token

3,master查看刚刚创建的token

4,新节点使用token加入集群

5,验证是否成功


一,需求描述

        生产环境中,对于k8s已有环境进行扩容和缩容是比较常见的操作,比如现有k8s集群资源不足,就需要扩容节点,就是将物理机配置加入k8s集群node;

        或者说当前k8s集群工作不饱和,有大量空闲的机器资源,闲置浪费严重,所以需要缩容,就是将物理机配置退出k8s集群node;

二、集群缩容-节点下线

        我们从总体架构中(第一天就让大家背下来了,不知道的回去背下来)知道,k8s集群监控一个节点的cpu、内存、磁盘空间、文件系统inode等资源是依靠kubelet组件;

        当这些资源中的一个或者多个达到特定的消耗水平(消耗到一定程度了),kubelet就会主动将节点上的一个或者多个pod强制进行“驱逐”,以防止当前node节点资源无法正常分配,而引发内存溢出(OOM);

1,节点下线案例说明

我们需要先把要下线的node节点中的pod驱逐,模拟下线节点(node节点可能因为硬件故障或者其他原因,有下线的需求)

2,查看现有节点

[root@k8s1 k8s-yaml]# kubectl get nodes 

 

3,查看所有名称空间下的pod

[root@k8s1 k8s-yaml]# kubectl get pods -o wide -A

4,驱逐下线节点的pod

驱逐一个节点的所有pod;但是需要排除daemonset资源创建的pod,因为,dadmonset资源是根据节点数量来创建pod的,若不排除,则会驱逐不了;

[root@k8s1 k8s-yaml]# kubectl drain k8s2 --ignore-daemonsets

参数介绍

--ignore-daemonsets #daemonset资源不能被驱逐,需要排除,加这个选项参数排除;
--delete-emptydir-data #如果无法驱逐成功,再加这个参数;

5,驱逐后再次查看pod

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

[root@k8s1 k8s-yaml]# kubectl get pods -o wide -A | grep k8s2

6,驱逐pod后再次查看节点信息

[root@k8s1 k8s-yaml]# kubectl get nodes
NAME   STATUS                     ROLES                  AGE   VERSION
k8s1   Ready                      control-plane,master   13d   v1.23.17
k8s2   Ready,SchedulingDisabled   <none>                 13d   v1.23.17

7,给要下线的节点打上污点

因为要将节点下线,避免在下线过程中,有人往这个节点中创建资源,所以保守起见,给它设置个污点;双保险

kubectl taint node k8s2 k8s=oslee:NoExecute

8,再次查看要下线节点的pod

这个时候会发现,仅剩下kube-proxy了,你就可以将节点直接下线了;

[root@k8s1 k8s-yaml]#  kubectl get pods -o wide -A | grep k8s2

9,下线节点重置

9.1.需要到要下线的节点中执行“重置”命令,重置下线节点

[root@k8s2 ~]# kubeadm reset -f

9.2. 删除要下线节点的cni网络目录

[root@k8s2 ~]# rm -rf /etc/cni/net.d

9.3.清空路由规则 

[root@k8s2 ~]# iptables -F

9.4.查看打印规则

iptables-save

10,删除掉节点

注意,master节点执行

[root@k8s1 k8s-yaml]# kubectl delete nodes k8s2
node "k8s2" deleted# 验证
[root@k8s1 k8s-yaml]# kubectl get nodes
NAME   STATUS   ROLES                  AGE   VERSION
k8s1   Ready    control-plane,master   13d   v1.23.17

温馨提示:

        1,当我们直接下线一个节点的时候,该节点的pod将不会立刻被检测出来故障,大概5分钟左右才能将损坏的pod在其他节点中创建,但是再次之前,会优先发现该的状态为“Notready”;

        2,综上所述,我们生产环境中应该监控nodes的状态,当然,pods重启次数也需要关注哦;所以说,要报账pod业务正常运行,必须监控nodes的状态;

三、集群扩群-节点上线

1,给上线节点安装必要组件

可参考:3.2.k8s搭建-kubeadm_为docker做linux内核转发-CSDN博客

2,master节点创建token

kubeadm token create --print-join-command

参数说明

--print-join-command   #打进加入token的命令

--ttl 0   #token的过期时间,0代表无限期;

#################################

#token的名称规则:

[a-z0-9]{6})\\.([a-z0-9]{16}

3,master查看刚刚创建的token

kubeadm token list

4,新节点使用token加入集群

在新节点执行

kubeadm join 192.168.11.11:6443 --token 1kum3s.20vvoag1zjp88a7e --discovery-token-ca-cert-hash sha256:40e957a9fe26974447bd43a8e0d56495fd0c2642a2e93bc6b9c042e3baead7a5

5,验证是否成功

[root@k8s1 k8s-yaml]# kubectl get nodes 
NAME   STATUS   ROLES                  AGE     VERSION
k8s1   Ready    control-plane,master   13d     v1.23.17
k8s2   Ready    <none>                 2m15s   v1.23.17


 

http://www.lryc.cn/news/376368.html

相关文章:

  • 相亲交友APP系统|婚恋交友社交软件|语音聊天平台定制开发
  • 2005-2022年款福特福克斯维修手册和电路图线路图接线图资料更新
  • nodejs爬取小红书图片
  • MySQL从5.7升级到8.0步骤及其问题
  • 中年帕金森:守护健康,从容面对生活挑战
  • oracle块跟踪
  • 【机器学习】第3章 K-近邻算法
  • 求和 最大值 最小值 reduce Math.min Math.max
  • MyBatis 源码分析--获取SqlSession
  • Upload-Labs:Pass - 1(JS前端白名单)
  • vue大作业-实现学校官网
  • 24面试记录002
  • cocos 按钮
  • 文件扫描工具都有哪些?职场大佬都在用的文本提取工具大盘点~
  • 【学习】程序员资源网站
  • 游戏缓存与异步持久化的完美邂逅
  • MySQL 高级 - 第十二章 | 数据库的设计规范
  • 【Python】AJAX
  • scikit-image安装报错
  • STM32(七)———TIM定时器(基本and通用)
  • Spring中网络请求客户端WebClient的使用详解
  • 那些年我为了考PMP踩过的坑.....
  • 邦芒解析:新人入职后存在的三种职场心理误区
  • MFC案例:利用SetTimer函数编写一个“计时器”程序
  • 2. 音视频H264
  • 烽宇团队回报社会,走进贵州山区公益行
  • 硬盘格式化NTFS好还是exFAT好 U盘存储文件用哪个格式好? 硬盘用exfat还是ntfs mac不能读取移动硬盘怎么解决
  • Elasticsearch机器学习初探:智能数据洞察
  • 贪心算法——赶作业(C++)
  • Python 数据可视化 多色散点图