kubeadm高可用集群意外删除一mater节点,重新加入失败
layout: "post"
title: "2020-07-23-qestion-etcd(error execution phase check-etcd)"
date: "2020-07-23 10:00:00"
category: "kubernetes"
tags: "kubernetes1.16.8 etcd check-etcd etcd 监控检查失败"
author: duiniwukenaihe
- content {:toc}
背景
昨天搭建1.18.6kubeadm ha集群的时候 xshell 没有仔细看 手贱,把老集群的master02节点给kubeadm reset了。然后master01几点重新生成token,将master02节点介入集群出现etcd检查失败的错误日志,然后发现了超级小豆丁的日志也整过类型的问题:http://www.mydlq.club/article/73/详情见大佬博客
基本过程:(直接抄写豆丁大佬的了,基本就那么操作的)
1. kubectl describe configmaps kubeadm-config -n kube-system。发现k8s-master-02节点依然存在。
2. 万恶的etcd,当剔除一个 master 节点时 etcd 集群未删除剔除的节点的 etcd 成员信息,该信息还存在 etcd 集群列表中。手工删除etcd成员信息。
kubectl get pods -n kube-system | grep etcd
etcd-k8s-master-01 1/1 Running 2 212d
etcd-k8s-master-03 1/1 Running 3 212d
kubectl exec -it etcd-k8s-master-01 sh -n kube-system
配置环境
export ETCDCTL_API=3
alias etcdctl='etcdctl --endpoints=https://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'
查看 etcd 集群成员列表
etcdctl member list
b3e5838df5f510, started, k8s-master-01, https://10.0.0.41:2380, https://10.0.0.41:2379
aab0efa6cc544b57, started, k8s-master-02, https://10.0.0.34:2380, https://10.0.0.34:2379
dd2b426e7bda1609, started, k8s-master-03, https://10.0.0.26:2380, https://10.0.0.26:2379
删除 etcd 集群成员k8s-master-02
etcdctl member remove aab0efa6cc544b57
再次查看 etcd 集群成员列表
etcdctl member list
b3e5838df5f510, started, k8s-master-01, https://10.0.0.41:2380, https://10.0.0.41:2379
dd2b426e7bda1609, started, k8s-master-03, https://10.0.0.26:2380, https://10.0.0.26:2379
exit
3 . k8s-master-02节点重新加入集群。
kubeadm reset
kubeadm join 10.0.0.37:6443 --token xzd67o.xgnzqkwkjem7kcmf --discovery-token-ca-cert-hash sha256:56ccafb865957c0692f5737cd8778553910c1049ef238a7781b7a39f5fd3a99a --control-plane
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master-01 Ready master 212d v1.16.8
k8s-master-02 Ready master 3d2h v1.16.8
k8s-master-03 Ready master 212d v1.16.8
k8s-node-01 Ready <none> 212d v1.16.8
k8s-node-02 Ready <none> 212d v1.16.8
k8s-node-03 Ready <none> 212d v1.16.8
k8s-node-04 Ready <none> 210d v1.16.8
k8s-node-05 Ready <none> 210d v1.16.8
k8s-node-06 Ready <none> 210d v1.16.8
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 白话k8s-Pod的组成
- Jaba_Web--JDBC 修改记录操作模板
- h5逐步实现 <<canvas系统>>
- 递归与N皇后问题
- Jaba_Web--JDBC 查询记录操作模板
- Linux下如何删除指定路径下所有的__pycache__文件夹?
- js逐步实现原生flex系统
- POJ 2054 Color a Tree解题报告
- Jaba_Web--JDBC 删除记录操作模板
- POJ 1789 Truck History 最小生成树
- Vector shrink 请求容器降低其容量和size匹配 shrink_to_fit();
- Codeforces Round #677 (Div. 3)
- Java_Web--JDBC 增加记录操作模板
- js逐步实现原生控制系统
- STL 训练 POJ - 1862 Stripies