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

K8s集群中,Worker 节点误执行了 kubeadm init

K8s集群中,Worker 节点误执行了 kubeadm init

文章目录

  • K8s集群中,Worker 节点误执行了 kubeadm init
  • 注意事项
  • 以下是解决方案的详细步骤:

Worker 节点误执行了 kubeadm init,需要进行清理和重新加入集群。

注意事项

  • 确保网络插件配置与 --pod-network-cidr 参数匹配,否则会导致 Worker 节点无法加入。
  • 如果 Worker 节点误操作后仍报错,可以尝试重启服务:sudo systemctl restart kubelet
  • 在执行清理操作前,确保当前节点没有任何重要的应用或数据,以免误删。
  • 按照步骤操作后,误执行初始化的 Worker 节点应该可以恢复并正常加入集群。

以下是解决方案的详细步骤:

  1. 清理错误配置
    在误操作的 Worker 节点上执行以下命令清理集群相关的残留数据:
sudo kubeadm reset -f

作用:
清理初始化过程中生成的配置文件、证书和数据目录。
会移除 /etc/kubernetes 下的所有内容。
注意:此命令不会删除网络插件相关的配置文件,如果需要彻底清理,请参考下面的步骤。

  1. 清理容器运行时相关数据
  • 如果使用的是 containerd,可以清理容器相关的内容:
sudo systemctl stop containerd
sudo rm -rf /var/lib/containerd/*
sudo rm -rf /data/containerd/*
sudo systemctl start containerd
  • 对于其他容器运行时(如 Docker),可以参考以下命令:
sudo systemctl stop docker
sudo rm -rf /var/lib/docker/*
sudo systemctl start docker
  1. 移除 CNI 网络配置(可选)
    如果节点已经部署了网络插件(例如 Flannel 或 Calico),可能会遗留网络配置,需手动清理。
sudo rm -rf /etc/cni/net.d/*
sudo rm -rf /var/lib/cni/
sudo rm -rf /var/run/calico/
  1. 确保网络和服务正常(可选)
# 检查是否有多余的 IP 地址或规则残留:
ip addr show
iptables -L -n -v

# 清理可能遗留的网络规则:
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -X
sudo ip link delete cni0
sudo ip link delete flannel.1
  1. 将 Worker 节点重新加入集群
    重新加入集群需要从 Master 节点获取 kubeadm join 命令。可以在 Master 节点执行以下命令获取新的 kubeadm join 命令:
sudo kubeadm token create --print-join-command

# 输出类似如下:
kubeadm join 172.19.0.81:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 在 Worker 节点上执行上述命令即可重新加入集群。
  1. 验证节点状态
    在 Master 节点上检查 Worker 节点状态:
kubectl get nodes
如果节点状态为 Ready,说明已成功加入集群。

如果状态为 NotReady,检查网络插件是否已部署且正常运行:
kubectl get pods -n kube-system

http://www.kler.cn/a/470363.html

相关文章:

  • 基于MATLAB的汽车热管理模型构建
  • 线性代数考研笔记
  • 嵌入式驱动开发详解10(MISC杂项实现)
  • Python递归(汉诺塔问题)
  • MITRE ATTCK 简介:初学者指南
  • 【连续学习之LwM算法】2019年CVPR顶会论文:Learning without memorizing
  • ip属地不是唯一的吗怎么改
  • Vue笔记-001-声明式渲染
  • macOS 安装 python3.11
  • Java基础知识-面试题
  • 智能服装推荐系统 协同过滤余弦函数推荐服装 Springboot Vue Element-UI前后端分离
  • react vscode prettier 格式化代码
  • 数据结构 - blocks
  • freertos官网源码烧录stlink注意配置
  • javascript e.preventDefault() 的作用和用法
  • Unity3D仿星露谷物语开发18之添加道具到库存栏
  • 按键精灵ios脚本教程:用函数来实现将图片保存到相册
  • Elasticsearch VS Easysearch 性能测试
  • Golang学习笔记_18——接口
  • 海外云服务器能用来做什么?
  • python 如何调整word 文档页眉页脚
  • 移动电商的崛起与革新:以开源AI智能名片2+1链动模式S2B2C商城小程序为例的深度剖析
  • 培训机构Day23
  • 在 Vue 中使用 @ngageoint/geopackage 实现 GeoPackage 数据处理与可视化
  • 常见转义字符
  • 人工智能安全——联邦学习的安全攻击与防护