一、现象
原本k8s集群中(3master节点(同样也是3台etcd几点)),有一台etcd(同样也是master)10.0.0.3节点故障,需要重装。
该集群主机为虚拟机,性能降低,磁盘读写性能也不好。
此次主机故障,需要重装主机。数据等都被清理掉了。
Master总共由三节点组成一个集群保持高可用,其中组件包括etcd、kube-apiserver、kube-controller-manager、kube-scheduler。将其中一个节点移除集群仍然可用,不会影响现有环境业务。
二、具体隔离etcd(master)问题节点操作:
1、将问题节点上etcd踢出集群
1、检查etcd集群健康状态
(该集群未开启安全认证)
etcdctl --endpoints=10.1.1.1:1159,10.1.1.2:1159,10.1.1.3:1159 endpoint status --write-out=table
2、查看etcd的member id
etcdctl --endpoints=10.1.1.1:1159,10.1.1.2:1159,10.1.1.3:1159 member list
3、将有问题的etcd踢出集群
etcdctl --endpoints=10.1.1.1:1159,10.1.1.2:1159,10.1.1.3:1159 member remove c583ed1ec6717ea6

2、Kube-apiserver配置更改,并停止
1、将kube-apiserver配置中有问题的etcd节点移除掉,重新启动kube-apiserver
2、将有问题的kube-apiserver停掉
3、确认停掉节点是否为主节点,如是,请查看vip是否飘走,并将kp+ha停掉。
3、etcd恢复步骤
1、以单点模式启动新etcd
vi /etc/etcd/etcd.conf
#ETCD_INITIAL_CLUSTER="etcd_1=http://10.1.1.1:2380,etcd_2=http://10.1.1.2:2380,etcd_3=http://10.1.1.3:2380"
ETCD_INITIAL_CLUSTER="etcd_3=http://10.1.1.3:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
2、查看这个etcd的member ID
etcdctl --endpoints=http://10.1.1.3:1159 member list
#添加证书的话,命令行加上--cacert=/etc/kubernetes/ssl/ca.crt --cert=/etc/kubernetes/ssl/etcd_server.crt --key=/etc/kubernetes/ssl/etcd_server.key
3、etcd集群添加新的这个节点
etcdctl --endpoints=http://10.1.1.1:1159,http://10.1.1.2:1159 member add 63377d1b38c6eca1 --peer-urls="http://10.1.1.3:2380"
4、再次停止有问题的etcd,修改配置文件,改为集群模式
systemctl stop etcd
vi /etc/etcd/etcd.conf
ETCD_INITIAL_CLUSTER="etcd_1=http://10.1.1.1:2380,etcd_2=http://10.1.1.2:2380,etcd_3=http://10.1.1.3:2380"
#ETCD_INITIAL_CLUSTER="etcd_3=http://10.1.1.3:2380"
#ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_STATE="existing"
5、检查etcd集群状态
etcdctl --endpoints=10.1.1.1:1159,10.1.1.2:1159,10.1.1.3:1159 endpoint status --write-out=table
428

被折叠的 条评论
为什么被折叠?



