跳至正文
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
Winter's Life

技术分享 | 程序开发 | 产品测评 | 技术咨询 | 远程协助 | 生活感悟 | 行业新闻

Winter's Life

技术分享 | 程序开发 | 产品测评 | 技术咨询 | 远程协助 | 生活感悟 | 行业新闻

  • 首页
  • 关于我
  • 首页
  • 关于我
关

搜索

  • 首页
  • 关于我
Subscribe
运维,Kubernetes
K8S

Kubernetes日常运维

作者 winter.yu
2026年2月10日 1 分钟阅读
0

1. Master节点

增加master节点

# 1.编辑hosts.yaml,增加master节点配置
$ vi inventory/mycluster/hosts.yaml
# 2.执行cluster.yml(不要用scale.yml)
$ ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml -b -v
# 3.重启nginx-proxy - 在所有节点执行下面命令重启nginx-proxy
$ docker ps | grep k8s_nginx-proxy_nginx-proxy | awk '{print $1}' | xargs docker restart

删除master节点

如果你要删除的是配置文件中第一个节点,需要先调整配置,将第一行配置下移,再重新运行cluster.yml,使其变成非第一行配置。举例如下:

# 场景:下线node-1节点
$ vi inventory/mycluster/hosts.yaml
# 变更前的配置
children:
kube-master:
hosts:
node-1:
node-2:
node-3:
# 变更后的配置
children:
kube-master:
hosts:
node-2:
node-1:
node-3:
# 再执行一次cluster.yml
$ ansible-playbook -i inventory/mycluster/hosts.yaml -b cluster.yml

非第一行的master节点下线流程:

 

# 执行remove-node.yml(不要在hosts.yaml中删除要下线的节点)
$ ansible-playbook -i inventory/mycluster/hosts.yaml remove-node.yml -b -v -e "node=NODE-NAME"
# 同步hosts.yaml(编辑hosts.yaml将下线的节点删除,保持集群状态和配置文件的一致性)
$ vi inventory/mycluster/hosts.yaml

 

2. Worker节点

增加worker节点

# 刷新缓存
$ ansible-playbook -i inventory/mycluster/hosts.yaml facts.yml -b -v
# 修改配置hosts.yaml,增加节点
$ vi inventory/mycluster/hosts.yaml
# 执行scale添加节点,--limit限制只在某个固定节点执行
$ ansible-playbook -i inventory/mycluster/hosts.yaml scale.yml --limit=NODE-NAME -b -v

 删除worker节点

# 此命令可以下线节点,不影响其他正在运行中的节点,并清理节点上所有的容器以及kubelet,恢复初始状态,多个节点逗号分隔
$ ansible-playbook -i inventory/mycluster/hosts.yaml remove-node.yml -b -v -e "node=NODE-NAME-1,NODE-NAME-2,..."
# 同步hosts.yaml(编辑hosts.yaml将下线的节点删除,保持集群状态和配置文件的一致性)
$ vi inventory/mycluster/hosts.yaml

 3. ETCD节点

如果要变更的etcd节点同时也是master或worker节点,需要先将master/worker节点按照前面的文档操作下线,保留纯粹的etcd节点

增加etcd节点

# 编辑hosts.yaml(可以增加1个或2个etcd节点配置)
$ vi inventory/mycluster/hosts.yaml
# 更新etcd集群
$ ansible-playbook -i inventory/mycluster/hosts.yaml upgrade-cluster.yml --limit=etcd,kube-master -e ignore_assert_errors=yes -e etcd_retries=10

 

删除etcd节点

# 执行remove-node.yml(不要在hosts.yaml中删除要下线的节点)
$ ansible-playbook -i inventory/mycluster/hosts.yaml remove-node.yml -b -v -e "node=NODE-NAME"
# 同步hosts.yaml(编辑hosts.yaml将下线的节点删除,保持集群状态和配置文件的一致性)
$ vi inventory/mycluster/hosts.yaml
# 运行cluster.yml给node节点重新生成etcd节点相关的配置
$ ansible-playbook -i inventory/mycluster/hosts.yaml -b cluster.yml

 

4. 其他常用命令

集群reset

# 运行reset.yml一键清理集群
$ ansible-playbook -i inventory/mycluster/hosts.yaml -b -v reset.yml

 

自定义play起始点

当我们执行play的过程中如果有问题,需要重新的时候,如果重新执行指令会重新经历前面漫长的等待,这个时候“跳过”功能就显得非常有用

 

# 通过--start-at-task指定从哪个task处开始执行,会跳过前面的任务,举例如下
$ ansible-playbook --start-at-task="reset | gather mounted kubelet dirs"

 

 

忽略错误

当有些错误是我们确认可以接受的或误报的,可以配置ignore_errors: true,避免task出现错误后影响整个流程的执行。

 

# 示例片段如下:
- name: "Remove physical volume from cluster disks."
environment:
PATH: "{{ ansible_env.PATH }}:/sbin"
become: true
command: "pvremove {{ disk_volume_device_1 }} --yes"
ignore_errors: true

 

 

标签:

K8Skubernetes运维
作者

winter.yu

关注我
其他文章
Winter's Life
上一个

Django中实现流式返回数据

运维,linux,lvm
下一个

LVM逻辑卷常用命令

暂无评论!成为第一个。

发表回复 取消回复

要发表评论,您必须先登录。

联系方式(咨询、协助需付费)

微信:yuxiaodong9916

QQ:95888623

近期文章

  • GitHub本周最热门的5个开源项目深度解析(2026.5.6-5.12)
  • 🔥 2026年5月第一周 GitHub 最热门 5 个项目
  • Obsidian 深度解析:从功能介绍到部署配置,一文掌握这款知识管理利器
  • GitHub 本周最火的 5 个项目:AI Agent 生态爆发,Karpathy 开源项目一周狂揽 4.4 万星
  • GitHub 本周飙升最快的 5 个项目:AI Agent 生态全面爆发

近期评论

您尚未收到任何评论。

归档

  • 2026 年 5 月
  • 2026 年 4 月
  • 2026 年 3 月
  • 2026 年 2 月

分类

  • Ai
  • Github
  • K8S
  • Linux
  • Oracle
  • Python
  • Redis
  • 企业协作
  • 数据库
  • 知识库
  • 科学上网

agent agents Ai AI Agent AI助理 AI指令 AI进阶 DeerFlow Github hermes agent K8S kubernetes kubspray Linux LVM MCP openclaw Python Redis skill token 人工智能 企业协作 单用户 大模型 字节 工作流 常用命令 开源 开源项目 技能 效率工具 教程 架构设计 科学上网 聊天交互 自动化 超级个体 运维 运维配置 配置文件 金融市场 降AI 降AIGC 飞书,OpenClaw,AI 助手,教程,自动化,企业协作

您可能错过了

Ai Github

GitHub本周最热门的5个开源项目深度解析(2026.5.6-5.12)

winter.yu
作者 winter.yu
2026年5月12日
Ai Github

🔥 2026年5月第一周 GitHub 最热门 5 个项目

winter.yu
作者 winter.yu
2026年5月5日
Ai 知识库

Obsidian 深度解析:从功能介绍到部署配置,一文掌握这款知识管理利器

winter.yu
作者 winter.yu
2026年5月2日
Ai Github

GitHub 本周最火的 5 个项目:AI Agent 生态爆发,Karpathy 开源项目一周狂揽 4.4 万星

winter.yu
作者 winter.yu
2026年4月28日
Github

GitHub 本周飙升最快的 5 个项目:AI Agent 生态全面爆发

winter.yu
作者 winter.yu
2026年4月23日
Ai Github

GitHub 本周最火 5 大开源项目:AI Agent 全面爆发,自主智能体时代已来

winter.yu
作者 winter.yu
2026年4月17日
Ai Github

GitHub 爆火项目深度解析:MCP 协议如何成为 2026 年 AI 代理的”通用插座”

winter.yu
作者 winter.yu
2026年4月14日
Ai

Hermes Agent:2026年最值得关注的开源AI Agent框架深度解析

winter.yu
作者 winter.yu
2026年4月13日
Github

🔥 GitHub本周最火5大开源项目深度解析(2026年4月第2周)

winter.yu
作者 winter.yu
2026年4月9日
Copyright 2026 — Winter's Life. All rights reserved. Blogsy WordPress Theme