集群备份恢复

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

前提条件

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

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

  3. 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 \
         $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. 在集群页面上看到新的管理节点加入了集群, 并且状态为初始化中

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

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

  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. 在集群页面上,添加该节点作为集群的管理节点。

© 2022 MiaoYun Chengdu Yuan Lai Yun Zhi Technologies Inc.            Version: 21.12.3

results matching ""

    No results matching ""