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

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
Cyberwarzone
Cyberwarzone
SecWiki News
SecWiki News
Webroot Blog
Webroot Blog
L
LINUX DO - 最新话题
V
Vulnerabilities – Threatpost
T
Troy Hunt's Blog
Cloudbric
Cloudbric
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
H
Heimdal Security Blog
S
Schneier on Security
NISL@THU
NISL@THU
The Hacker News
The Hacker News
Attack and Defense Labs
Attack and Defense Labs
A
Arctic Wolf
V2EX - 技术
V2EX - 技术
Security Latest
Security Latest
AWS News Blog
AWS News Blog
Scott Helme
Scott Helme
W
WeLiveSecurity
S
Secure Thoughts
Y
Y Combinator Blog
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - Franky
量子位
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
The GitHub Blog
The GitHub Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
J
Java Code Geeks
Vercel News
Vercel News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
小众软件
小众软件
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
C
CERT Recently Published Vulnerability Notes
Security Archives - TechRepublic
Security Archives - TechRepublic
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Palo Alto Networks Blog

博客园 - 尹正杰

k8s集群为每个节点分配不通的ippool实战 ansible剧本实现一键升级K8S集群的NVIDIA GPU驱动 vmagent采集etcd数据并写入victoriametrics集群 VictoriaMetrics集群部署实战 Squid正向代理实战 kubespray生产故障案例之kubelet启动参数案例 filebeat指定名称空间采集pod数据 Calico自定义Ipool实战 ansible剧本实现kibana的部署和卸载 ansible剧本应用案例集合2 ansible剧本实现磁盘格式化 Ansible急速入门实战篇 ansible快速入门篇 k8s集群管理 kubesray实战 kubespray实战案例 kubespray管理k8s的worker集群扩缩容 kubespray快速部署k8s集群实战 Kubeasz使用吐槽博客专题 Kubeasz基于ezctl实现etcd集群的管理实战 Kubeasz基于ezctl实现k8s集群一键升级 Calico启用纯BGP模式+RR实战案例 Calico 底层原理及IPIP(依赖BGP协议))和vxlan(不依赖BGP)工作模式切换 kubeasz快速部署K8S集群实战 Ubuntu 24.04.04 LTS版本系统优化 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监控自定义程序指标
kubeasz基于ezctl实现k8s集群的扩容和缩容
尹正杰 · 2026-02-15 · 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,SchedulingDisabled   master   5h23m   v1.33.11   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master232   Ready,SchedulingDisabled   master   5h23m   v1.33.11   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker66    Ready                      node     5h21m   v1.33.11   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker77    Ready                      node     5h21m   v1.33.11   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
[root@master231 ~]# 
[root@master231 ~]# ps -ef | grep kube-lb
root        4348       1  0 02:58 ?        00:00:00 nginx: master process /etc/kube-lb/sbin/kube-lb -c /etc/kube-lb/conf/kube-lb.conf -p /etc/kube-lb
root      181504    1413  0 08:24 pts/0    00:00:00 grep --color=auto kube-lb
[root@master231 ~]# 
[root@master231 ~]# cat /etc/kube-lb/conf/kube-lb.conf
user root;
worker_processes 1;

error_log  /etc/kube-lb/logs/error.log warn;

events {
    worker_connections  3000;
}

stream {
    upstream backend {
        server 10.0.0.231:6443    max_fails=2 fail_timeout=3s;
        server 10.0.0.232:6443    max_fails=2 fail_timeout=3s;
    }

    server {
        listen 127.0.0.1:6443;
        proxy_connect_timeout 1s;
        proxy_pass backend;
    }
}
[root@master231 ~]# 

2.扩容master节点

  1.新增master节点
[root@ansible99 ~]# /etc/kubeasz/ezctl add-master yinzhengjie-k8s 10.0.0.233 k8s_nodename='master233'


   2. 本质上会自动更新 hosts 文件,将新 Master IP 加入 [kube_master] 组
[root@ansible99 ~]# vim /etc/kubeasz/clusters/yinzhengjie-k8s/hosts 
...
[kube_master]
10.0.0.233 k8s_nodename=master233
10.0.0.231 k8s_nodename='master231'
10.0.0.232 k8s_nodename='master232'


  3.检查master组件
[root@master231 ~]# kubectl get nodes -o wide
NAME             STATUS                        ROLES    AGE     VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master231        Ready,SchedulingDisabled      master   5h57m   v1.33.11   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master232        Ready,SchedulingDisabled      master   5h57m   v1.33.11   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master233        Ready,SchedulingDisabled      master   2m50s   v1.33.11   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker66         Ready                         node     5h55m   v1.33.11   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker77         Ready                         node     5h55m   v1.33.11   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
[root@master231 ~]# 
[root@master231 ~]# ps -ef | grep kube-lb
root      199732       1  0 08:55 ?        00:00:00 nginx: master process /etc/kube-lb/sbin/kube-lb -c /etc/kube-lb/conf/kube-lb.conf -p /etc/kube-lb
root      207866    1413  0 09:09 pts/0    00:00:00 grep --color=auto kube-lb
[root@master231 ~]# 
[root@master231 ~]# cat /etc/kube-lb/conf/kube-lb.conf
user root;
worker_processes 1;

error_log  /etc/kube-lb/logs/error.log warn;

events {
    worker_connections  3000;
}

stream {
    upstream backend {
        server 10.0.0.233:6443    max_fails=2 fail_timeout=3s;  # 不难发现,会产生新的master节点哟~
        server 10.0.0.231:6443    max_fails=2 fail_timeout=3s;
        server 10.0.0.232:6443    max_fails=2 fail_timeout=3s;  
    }

    server {
        listen 127.0.0.1:6443;
        proxy_connect_timeout 1s;
        proxy_pass backend;
    }
}
[root@master231 ~]# 


3.缩容master节点

  1.删除master节点
[root@ansible99 ~]# /etc/kubeasz/ezctl del-master yinzhengjie-k8s 10.0.0.232


  2.测试验证本地配置文件
[root@master231 ~]# cat /etc/kube-lb/conf/kube-lb.conf
user root;
worker_processes 1;

error_log  /etc/kube-lb/logs/error.log warn;

events {
    worker_connections  3000;
}

stream {
    upstream backend {
        server 10.0.0.233:6443    max_fails=2 fail_timeout=3s;
        server 10.0.0.231:6443    max_fails=2 fail_timeout=3s;
    }

    server {
        listen 127.0.0.1:6443;
        proxy_connect_timeout 1s;
        proxy_pass backend;
    }
}
[root@master231 ~]# 

二.伸缩node节点

1.扩容worker节点

  1.配置免密
[root@ansible99 ~]# ssh-copy-id 10.0.0.88


  2.新增worker节点
[root@ansible99 ~]# /etc/kubeasz/ezctl add-node yinzhengjie-k8s 10.0.0.88 k8s_nodename='worker88'


  3.查看节点
[root@master231 ~]# kubectl get nodes -o wide
NAME        STATUS                     ROLES    AGE     VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master231   Ready,SchedulingDisabled   master   9h      v1.33.11   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master232   Ready,SchedulingDisabled   master   124m    v1.33.11   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master233   Ready,SchedulingDisabled   master   3h33m   v1.33.11   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker66    Ready                      node     9h      v1.33.11   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker77    Ready                      node     9h      v1.33.11   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker88    Ready                      node     4m59s   v1.33.11   10.0.0.88     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
[root@master231 ~]# 

2.缩容worker节点

  1.删除指定节点
[root@ansible99 ~]# /etc/kubeasz/ezctl del-node yinzhengjie-k8s 10.0.0.88 


  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,SchedulingDisabled   master   9h      v1.33.11   10.0.0.231    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master232   Ready,SchedulingDisabled   master   126m    v1.33.11   10.0.0.232    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
master233   Ready,SchedulingDisabled   master   3h35m   v1.33.11   10.0.0.233    <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker66    Ready                      node     9h      v1.33.11   10.0.0.66     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
worker77    Ready                      node     9h      v1.33.11   10.0.0.77     <none>        Ubuntu 24.04.4 LTS   6.8.0-117-generic   containerd://2.1.1
[root@master231 ~]#