惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园 - 尹正杰

kubespray实战案例 kubespray快速部署k8s集群实战 Kubeasz使用吐槽博客专题 Kubeasz基于ezctl实现etcd集群的管理实战 Kubeasz基于ezctl实现k8s集群一键升级 4 Calico 底层原理及IPIP(依赖BGP协议))和vxlan(不依赖BGP)工作模式切换 kubeasz基于ezctl实现k8s集群的扩容和缩容 kubeasz快速部署K8S集群实战 sts部署kafka Ubuntu Server 24.04.04 LTS部署指南 windows极速部署Openclaw实战篇 K8S的StatefulSet控制器应用案例之MySQL主从同步实战 k8s底层基于不同运行时集成harbor企业级私有仓库实战 二进制K8S集群附加组件部署及CNI网络插件切换实战 二进制部署K8S 1.35.0+最新版实战案例 etcd高可用集群部署及K8S周期性备份数据实战 基于Docker实现《若依》服务业务容器化实战篇 k8s集群基于Flannel网络插件部署凡人修仙传 k8s集群基于Calico网络插件部署凡人修仙传 ElasticSEearch 9.X环境部署 K8S Vertical Pod Autoscaler(VPA)实战案例 Prometheus监控自定义程序指标
kubespray管理k8s的worker集群扩缩容
尹正杰 · 2026-06-08 · via 博客园 - 尹正杰

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.缩容K8S集群

1.查看现有集群环境

[root@master231 ~]# kubectl get nodes -o wide
NAME        STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master231   Ready    control-plane   15h   v1.33.10   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master232   Ready    control-plane   15h   v1.33.10   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master233   Ready    control-plane   15h   v1.33.10   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
worker66    Ready    <none>          15h   v1.33.10   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
worker77    Ready    <none>          15h   v1.33.10   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
[root@master231 ~]# 

2.驱逐要下线的worker节点

  1.驱逐要下线的worker节点
[root@master231 ~]# kubectl drain worker66 --ignore-daemonsets --delete-emptydir-data 
node/worker66 cordoned
Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-wdrkf, kube-system/kube-proxy-2b7xl, kube-system/nodelocaldns-7w8ns
evicting pod kube-system/coredns-594cbfb5fd-9gdmp
pod/coredns-594cbfb5fd-9gdmp evicted
node/worker66 drained
[root@master231 ~]# 
[root@master231 ~]# 
[root@master231 ~]# kubectl drain worker77 --ignore-daemonsets --delete-emptydir-data 
node/worker77 cordoned
Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-67lgs, kube-system/kube-proxy-wl2ht, kube-system/nodelocaldns-jxq2d
evicting pod kube-system/dns-autoscaler-8558dbc749-28z2g
evicting pod kube-system/calico-kube-controllers-6b48c55b44-b5wr7
evicting pod kube-system/coredns-594cbfb5fd-klpr9
pod/dns-autoscaler-8558dbc749-28z2g evicted
pod/calico-kube-controllers-6b48c55b44-b5wr7 evicted
pod/coredns-594cbfb5fd-klpr9 evicted
node/worker77 drained
[root@master231 ~]# 


  2.再次查看节点列表
[root@master231 ~]# kubectl get nodes -o wide
NAME        STATUS                     ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master231   Ready                      control-plane   16h   v1.33.10   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master232   Ready                      control-plane   16h   v1.33.10   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master233   Ready                      control-plane   16h   v1.33.10   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
worker66    Ready,SchedulingDisabled   <none>          16h   v1.33.10   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
worker77    Ready,SchedulingDisabled   <none>          16h   v1.33.10   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
[root@master231 ~]# 
[root@master231 ~]# 

3.删除worker节点

参考链接:
  https://kubespray.io/#/docs/getting_started/getting-started?id=remove-nodes



  1.删除指定的多个节点
(venv) [root@ansible99 kubespray]# ansible-playbook -i inventory/yinzhengjie-k8s/inventory.ini remove-node.yml -b -v --extra-vars "node=worker66,worker77"


  2.查看删除后的效果【删除过程比较耗时间,删除过程中并没有出现停机的情况】
[root@master232 ~]# kubectl get nodes -o wide
NAME        STATUS   ROLES           AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master231   Ready    control-plane   18h   v1.33.10   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master232   Ready    control-plane   18h   v1.33.10   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
master233   Ready    control-plane   18h   v1.33.10   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.6
[root@master232 ~]# 

二.扩容K8S集群

1.添加节点

参考链接:
  https://kubespray.io/#/docs/getting_started/getting-started?id=adding-nodes

(venv) [root@ansible99 kubespray]# ansible-playbook -i inventory/yinzhengjie-k8s/inventory.ini scale.yml -b -v --extra-vars "node=worker66,worker77"

2.