集群备份恢复

<< 单击以显示目录 >>

导航:  安装与配置 > 备份恢复 >

集群备份恢复

此操作适用于非高可用集群管理节点宕机后,更换一个管理节点。

前提条件

下载kubernetes集群备份,并解压。解压后会得到一个etcd备份文件, 记为$ETCD_BACKUP,例如 node54.db。

新的主机IP与故障的管理节点IP一致。

已安装CLI命令行工具my。

集群备份恢复操作

1.SSH进入新主机的命令行, 在任意路径下,例如,创建一个backup文件夹,将$ETCD_BACKUP放在这里。

sudo tree

.

└── backup

   └── node54.db

2.执行以下命令将etcd备份恢复为etcd工作空间。

sudo docker run --rm \

-v $(pwd)/backup:/backup \

-v /var/lib/etcd:/var/lib/etcd \

--env ETCDCTL_API=3 \

de$DOMAIN:20405/etcd-amd64:3.2.18 \

/bin/sh -c "etcdctl snapshot restore '/backup/$ETCD_BACKUP' ; mv /default.etcd/member/

/var/lib/etcd/"

3.进入/var/lib/etcd检查恢复出来的etcd工作空间。

cd /var/lib/etcd/ && ls

member

4.浏览器登录平台,将相同IP的新主机加入到主机池中,添加方法请参见添加主机

5.通过SSH登录平台节点,使用my登录平台。

my login 平台访问地址 -u admin -p password

例如 :my login 10.221.161.150:18443 -u admin -p admin

6.使用my查看主机列表,获取准备用作集群新管理节点的主机的ID,为$HOST_ID

sudo my host ls

7.使用my,将新主机以leader或manager身份加入主机集群。

sudo my cluster join $HOST_ID --cluster $CLUSTER_ID --role leader

8.待集群和新节点的状态为就绪后,从页面上移除宕机旧的管理节点。

说明

如高可用集群的其中一个管理节点宕机,操作步骤如下:

1.ssh集群管理节点或在浏览器中打开集群kubectl控制台,执行kubectl命令获取宕机的管理节点 ID: kubectl get node

2.执行kubectl命令删除宕机的管理节点:kubectl delete node xxx

3.通过SSH登录平台节点,使用my登录平台 my login 平台访问地址 -u admin -p password

4.使用my查看主机列表, 获取宕机的管理节点的主机ID,为$HOST_ID:sudo my host ls

5.使用my从集群中移除宕机的节点:my cluster leave 节点ID --cluster 集群名称

6.浏览器登录平台,将新主机加入到主机池中,添加方法请参见添加主机

7.在集群页面上,添加该节点作为集群的管理节点。