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

k8s集群master故障恢复笔记

剔除故障节点

kubectl drain master故障节点

kubectl delete node master故障节点

kubeadm reset

rm -rf /etc/kubernetes/manifests

mkdir -p /etc/kubernetes/pki/etcd/

从master其他节点拷

scp /etc/kubernetes/pki/ca.crt ca.key sa.key sa.pub front-proxy-ca.crt front-proxy-ca.key master故障节点:/etc/kubernetes/pki/

scp /etc/kubernetes/admin.conf master故障节点:/etc/kubernetes/

scp /etc/kubernetes/pki/etcd/ca.crt ca.key master故障节点:/etc/kubernetes/pki/etcd/

删除etcd信息

在master01节点上执行命令,进入etcd的容器里

kubectl exec -it etcd-master01 sh

etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key member list

因为我们的master03机器对应的hash是xxxx8ecc13xxxx。我们下一步就是根据hash删除etcd信息,执行如下命令

etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key member remove xxxx8ecc13xxxx

获取添加master的命令

kubeadm init phase upload-certs --upload-certs

xxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

kubeadm token create --print-join-command

通过组合上面的“蓝色字体部分“+“–control-plane –certificate-key“ +“红色字体部分”,获得加入master的完整命令

kubeadm join xxxxxxxxx:6443 --token vc713d.vftzjn61i32frhbe --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxx

故障节点重新加入集群

kubeadm join xxxxxxxxxxx:6443 --token vc713d.vftzjn61i32frhbe --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxx --control-plane –certificate-key xxxxxxxxxxxxxxxxxxxxxxxxxx

相关文章:

  • 华为数通——OSPF
  • linux 简单使用 sftp 和 lftp命令
  • java算法:插入排序
  • 34、shell数组+正则表达式命令
  • 视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享
  • 示例:推荐一个应用Adorner做的表单对话框
  • Linux ComfyUI安装使用;Stable Diffusion 3使用
  • day3-xss漏洞(米斯特web渗透测试)
  • 【已解决】在IDEA中使用Git拉取代码时提示:Can‘t update / master has no tracked branch
  • 昇思25天学习打卡营第1天|快速入门
  • Ubuntu 24.04 安装 libaio1 和 libaio-dev
  • 在C++中,构造器(Builder)模式的思考(《C++20设计模式》及常规设计模式对比)
  • 【database1】mysql:DDL/DML/DQL,外键约束/多表/子查询,事务/连接池
  • Python: create object
  • Trimesh介绍及基本使用
  • 【翻译】babel对TC39装饰器草案的实现
  • es6
  • Java反射-动态类加载和重新加载
  • js如何打印object对象
  • Laravel Mix运行时关于es2015报错解决方案
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Python利用正则抓取网页内容保存到本地
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 编写高质量JavaScript代码之并发
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 力扣(LeetCode)22
  • 区块链将重新定义世界
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 探索 JS 中的模块化
  • 微信公众号开发小记——5.python微信红包
  • 我感觉这是史上最牛的防sql注入方法类
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 新手搭建网站的主要流程
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 运行时添加log4j2的appender
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #图像处理
  • (30)数组元素和与数字和的绝对差
  • (4) PIVOT 和 UPIVOT 的使用
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (PySpark)RDD实验实战——取一个数组的中间值
  • (ZT)出版业改革:该死的死,该生的生
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (回溯) LeetCode 46. 全排列
  • (六)c52学习之旅-独立按键
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (循环依赖问题)学习spring的第九天
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Windows:删除文件夹后立即判断,有可能依然存在