问题背景
由三台master节点组成的k8s集群,由于其中一台master节点启动文件异常,将机器重置了,需要重新部署后恢复到原来的集群中。
解决过程
基础环境恢复
- yum 源配置
添加网络yum:
mkdir /etc/yum.repos.d
tee /etc/yum.repos.d/local.repo <<-'EOF'
[local]
name=local
baseurl=http://foreman.lilinlin.science:8080
gpgcheck=0
enable=1
EOF
- 关闭防火墙及swap
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久
setenforce 0 #临时
swapoff -a #临时
sed -i 's/.*swap.*/#&/' /etc/fstab #永久
基础环境需要根据项目需求进行调整,后面再不赘述
恢复etcd集群
etcd集群中存储k8s集群中的配置及节点信息,同样为三节点,由于目前有一台节点挂掉(非master),需要将重新将原来的etcd 节点从集群中踢出后,重新配置后加入到etcd集群。
- 先在另外一台好的master节点查看etcd成员信息
[root@10-216-115-122 ~]# etcdctl member list
170abdccbde1778c: name=etcd61 peerURLs=http://10.216.118.61:2380 clientURLs=http://10.216.118.61:2379 isLeader=true
40fb2280bd496625: name=etcd63 peerURLs=http://10.216.118.63:2380 clientURLs=http://10.216.118.63:2379 isLeader=false
8bdd7d808ea8ca3f: name=etcd62 peerURLs=http://10.216.118.62:2380 clientURLs=http://10.216.118.62:2379 isLeader=false
- 接着用对应id删除要重新加入的etcd节点(我这里是删第二台):