二进制 k8s 集群下线 worker 组件流程分析和实践
文章目录
- @[toc]
- 事出因果
- 个人思路
- 准备实践
- 当前 worker 节点信息
- 将节点标记为不可调度
- 驱逐节点 pod
- 将 worker 节点从 k8s 集群踢出
- 下线 worker 节点相关组件
文章目录
- @[toc]
- 事出因果
- 个人思路
- 准备实践
- 当前 worker 节点信息
- 将节点标记为不可调度
- 驱逐节点 pod
- 将 worker 节点从 k8s 集群踢出
- 下线 worker 节点相关组件
事出因果
因为之前写了一篇 二进制 k8s 集群下线 master 组件流程分析和实践,所以索性再写一个
worker节点的缩容
worker节点的缩容,在置换机器的时候比较适用(又或者称节点迁移)
个人思路
worker节点的缩容,其实比master节点的缩容会方便很多
- 将需要下线的
worker节点标记为不可调度 - 将需要下线的
worker节点上的 pod 进行驱逐- 如果有
label控制的,需要提前在其他节点上打上相应的label,保证pod可以在其他节点上运行
- 如果有
- 确认
pod完全驱逐后,使用kubectl命令删除节点 - 下线
worker节点相关的组件服务 - 根据情况是否保留相关的
pod数据
准备实践
当前 worker 节点信息
| 节点 ip | 是否下线 |
|---|---|
| 172.72.0.96 | 下线 |
| 172.72.0.97 | 下线 |
| 172.72.0.98 | 不下线 |
| 172.72.0.99 | 不下线 |
将节点标记为不可调度
注意:我这里是因为这两个节点之前就处于不可调度的状态,所以我的步骤里面是没有:打 label 的操作,只有驱逐 pod 的操作
如果节点有跑 pod,切记要先确认相关的 label,避免造成业务不可访问
kubectl cordon 172.72.0.96
kubectl cordon 172.72.0.97
标记为不可调度后,查看节点信息会出现
SchedulingDisabled的字样
NAME STATUS ROLES AGE VERSION
172.72.0.95 Ready,SchedulingDisabled <none> 11d v1.19.7
172.72.0.96 Ready,SchedulingDisabled <none> 11d v1.19.7
172.72.0.97 Ready,SchedulingDisabled <none> 11d v1.19.7
172.72.0.98 Ready <none> 16d v1.19.7
172.72.0.99 Ready <none> 16d v1.19.7
驱逐节点 pod
这里我会保留
daemonset类型的pod
kubectl drain 172.72.0.96 --ignore-daemonsets
kubectl drain 172.72.0.97 --ignore-daemonsets
将 worker 节点从 k8s 集群踢出
确保节点没有存在除
daemonset类型的pod的情况下,再做踢出节点的操作
kubectl get pod -A -o wide | egrep '172.72.0.96|172.72.0.97'
我这里剩下的
pod都是属于daemonset类型的了
ingress-nginx nginx-ingress-controller-5b8hw 1/1 Running 0 11d 172.72.0.96 172.72.0.96 <none> <none>
ingress-nginx nginx-ingress-controller-5k52q 1/1 Running 0 11d 172.72.0.97 172.72.0.97 <none> <none>
kube-system kube-flannel-ds-8hflj 1/1 Running 0 11d 172.72.0.96 172.72.0.96 <none> <none>
kube-system kube-flannel-ds-lwg6c 1/1 Running 0 11d 172.72.0.97 172.72.0.97 <none> <none>
monitor node-exporter-lddpd 1/1 Running 0 7d6h 172.72.0.97 172.72.0.97 <none> <none>
monitor node-exporter-rwnht 1/1 Running 0 67m 172.72.0.96 172.72.0.96 <none> <none>
将需要下线的节点踢出集群,注:别踢错集群了,要再三确认之后再踢出集群
kubectl delete node 172.72.0.96
kubectl delete node 172.72.0.97
再次使用
kubectl get node命令后,就可以看到,那两个节点已经看不到了
下线 worker 节点相关组件
下线
kubelet和kube-proxy服务
systemctl disable kubelet kube-proxy --now
下线容器运行时 [注:我这里使用的是 containerd,大家以自己实际的为准]
systemctl disable containerd --now
systemctl disable docker --now
到此,关于 worker 节点缩容的实践就结束了
相关文章:
二进制 k8s 集群下线 worker 组件流程分析和实践
文章目录[toc]事出因果个人思路准备实践当前 worker 节点信息将节点标记为不可调度驱逐节点 pod将 worker 节点从 k8s 集群踢出下线 worker 节点相关组件事出因果 因为之前写了一篇 二进制 k8s 集群下线 master 组件流程分析和实践,所以索性再写一个 worker 节点的缩…...
Bean的六种作用域
限定程序中变量的可用范围叫做作用域,Bean对象的作用域是指Bean对象在Spring整个框架中的某种行为模式~~ Bean对象的六种作用域: singleton:单例作用域(默认) prototype:原型作用域(多例作用域…...
Http发展历史
1 缘起 有一次,听到有人在议论招聘面试的人员, 谈及应聘人员的知识深度,说:问了一些关于Http的问题,如Http相关结构、网络结构等, 然后又说,问没问相关原理、来源? 我也是有些困惑了…...
高级Java程序员必备的技术点,你会了吗?
很多程序员在入行之后的前一两年,快速学习到了做项目常用的各种技术之后,便进入了技术很难寸进的平台期。反正手里掌握的一些技术对于应付普通项目来说,足够用了。因此也会缺入停滞,最终随着年龄的增长,竞争力不断下降…...
【暴力量化】查找最优均线
搜索逻辑 代码主要以支撑概率和压力概率来判断均线的优劣 判断为压力: 当日线与测试均线发生金叉或即将发生金叉后继续下行 判断为支撑: 当日线与测试均线发生死叉或即将发生死叉后继续上行 判断结果的天数: 小于6日均线,用金叉或…...
Java读取mysql导入的文件时中文字段出现�??的乱码如何解决
今天在写程序时遇到了一个乱码问题,困扰了好久,事情是这样的, 在Mapper层编写了查询语句,然后服务处调用,结果控制器返回一堆乱码 然后查看数据源头处: 由重新更改解码的字符集,在数据库中是正…...
k8s核心概念—Pod Controller Service介绍——20230213
文章目录一、Pod1. pod概述2. pod存在意义3. Pod实现机制4. pod镜像拉取策略5. pod资源限制6. pod重启机制7. pod健康检查8. 创建pod流程9. pod调度二、Controller1. 什么是Controller2. Pod和Controller关系3. deployment应用场景4. 使用deployment部署应用(yaml&a…...
Tensorflow的数学基础
Tensorflow的数学基础 在构建一个基本的TensorFlow程序之前,关键是要掌握TensorFlow所需的数学思想。任何机器学习算法的核心都被认为是数学。某种机器学习算法的策略或解决方案是借助于关键的数学原理建立的。让我们深入了解一下TensorFlow的数学基础。 Scalar 标…...
IT培训就是“包就业”吗?内行人这么看
大部分人毕业后选择参加职业技能培训,都是为了学完之后能找到好工作,而“就业服务”也成为各家培训机构对外宣传的重点内容。那么,所谓的“就业服务”就是“包就业”和“包底薪”吗?学完就一定能拿到offer吗?今天&…...
【算法】【数组与矩阵模块】顺时针旋转打印矩阵
目录前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本思考感悟写在最后前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识! 问题介绍 …...
Java中的锁概述
java中的锁java添加锁的两种方式:synchronized:关键字 修饰代码块,方法 自动获取锁、自动释放锁Reentrantlock:类 只能修饰代码块 手动加锁、释放锁java中锁的名词一些锁的名词指的是锁的特性,设计,状态&am…...
微电影行业痛点解决方案
在当下新媒体时代,微电影作为“微文化”的载体,具有“微”的特点,经过短短数年的快速发展,并获得了受众广泛的关注和喜爱,对人们的休闲娱乐方式也产生较大的影响。但在迅猛发展的同时也存在一些行业痛点,诸…...
使用Spring框架的好处是什么
使用Spring框架的好处是什么? 1、轻量:Spring 是轻量的,基本的版本大约2MB。 2、控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 3、面向切面的编程(AOP…...
【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成弹框修改数据
前言 这是继我另一个帖子就是单元格点击变成输入框后添加的功能 因为考虑到有些时候修改单元格的信息可能点击后要修改很多,那一个输入框不好用 所以这时候就需要一个弹框可以把所有表单都显示出来修改 所以这里就专门又写了一个demo,用于处理这种情况 …...
vue3.0 响应式数据
目录1.什么是响应式2. 选项式 API 的响应式数据3.组合式 API 的响应式数据3.1 reactive() 函数3.2 toref() 函数3.3 toRefs() 函数3.4ref() 函数总结1.什么是响应式 这个术语在今天的各种编程讨论中经常出现,但人们说它的时候究竟是想表达什么意思呢?本质…...
uni-app ①
文章目录一、uni-app简介学习 uniapp 本质uniapp 优势uni-app 和 vue 的关系uni-app 和小程序有什么关系uniapp 与 web 代码编写区别课程内容学习重点知识点一、uni-app 简介 uni-app 是一个使用 Vue.js 进行 开发所有前端应用的框架。开发者编写一套代码,即可发布…...
20个 Git 命令玩转版本控制
想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。Git 是一个版本控制系统,可以帮助开发人员跟踪修订、识别文件版本,并在必要的时候恢复旧版本。Git 对于有一定编程经验的用户来说虽然不算太难,但是想要…...
SAP NetWeaver版本和SAP Kernel版本的确定
SAP NetWeaver(SAP NW)描述了用于“业务启用”的所有软件和服务。SAP业务套件(如ERP中央组件(ECC)或供应商关系管理(SRM))包含该特定业务解决方案的软件组件。 以下是SAP NetWeaver…...
面试23K字节测试开发岗被血虐,到底具有怎样的技术才算高级水平?
前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了6年软件测试。。。 下面这条招聘是在腾讯招聘官网截图下来的,首先我们对高级水平下一个定义吧,那它应该是对标这个职级该有的能力 什么样的工程师才能算高级?至少…...
智云通CRM:买对了吗——大客户采购的方案实施
一旦采购合同签署后,供应商就要履行合同,按时交付产品进场使用,或实施服务方案。不过,无论对供应商还是客户来说,双方的合作并没有就此结束。 在这个阶段,客户会评估此次合作的供应商做事是否靠谱&#x…...
暗黑2存档编辑器:免费开源工具助你轻松修改角色与装备
暗黑2存档编辑器:免费开源工具助你轻松修改角色与装备 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 暗黑2存档编辑器是一款专门为《暗黑破坏神2》玩家设计的免费开源工具,让你能够轻松修改游戏存档&…...
喜马拉雅音频下载器:三分钟学会批量保存心爱内容
喜马拉雅音频下载器:三分钟学会批量保存心爱内容 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 在数字音频内容日益丰…...
告别手动建造:TEdit免费地图编辑器如何10倍提升泰拉瑞亚创作效率
告别手动建造:TEdit免费地图编辑器如何10倍提升泰拉瑞亚创作效率 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also l…...
如何快速掌握SRWE:Windows窗口分辨率自定义完整教程
如何快速掌握SRWE:Windows窗口分辨率自定义完整教程 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾遇到过游戏窗口大小不合适、截图分辨率不够高,或者想要为特定应用程序设置独…...
工控人必备技能:VMware虚拟机+Win10+博途V15完整开发环境搭建实录(从镜像下载到PLC在线)
工控工程师的移动工作站:VMwareWin10博途V15全栈开发环境实战指南 在工业自动化领域,能够随时随地进行PLC程序开发和调试的能力已经成为工程师的核心竞争力。想象这样一个场景:深夜接到产线紧急故障通知,而你的开发环境却锁在办公…...
63岁黄仁勋再添博士头衔、英特尔CEO为其披袍,最新演讲刷屏:人类编写软件、计算机执行指令的范式已终结!
整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 日前,在卡内基梅隆大学(CMU)的 2026 届毕业典礼上,英伟达 CEO 黄仁勋的头衔再加一,最新获得 CMU 科学与技术荣誉博士学位,而这也是…...
XXMI启动器终极指南:一站式管理原神、星穹铁道等热门游戏模组
XXMI启动器终极指南:一站式管理原神、星穹铁道等热门游戏模组 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为多个游戏模组安装繁琐而烦恼吗?XXMI启…...
白起杀降将卒,项羽杀降,黄巢他们有的选择吗?
杀降不是暴君的个人意志,而是一场场被逼到极限的“系统自保”。 白起要为40万战俘找活路,项羽要喂活20万张嘴并防止后院起火,黄巢要让自己和十几万兄弟明天不饿死。杀降本身这份“答卷”固然是反人类的,但那份出题人的冷酷与无情&…...
告别混乱!WPF项目如何用ResourceDictionary优雅管理样式和转换器(附完整项目结构)
告别混乱!WPF项目如何用ResourceDictionary优雅管理样式和转换器(附完整项目结构) 当WPF项目从Demo阶段步入正式开发,资源管理往往会成为第一个"拦路虎"。我曾接手过一个中型设备管理系统的UI重构,打开项目时…...
AzurLaneAutoScript:如何用智能自动化脚本彻底解放你的碧蓝航线时间?
AzurLaneAutoScript:如何用智能自动化脚本彻底解放你的碧蓝航线时间? 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLane…...
