记一次rancher server的迁移

问题:刚开始把rancher放在了k8s的一个节点上,导致该节点的内存溢出的时候,rancher就直接挂掉了,所以规划吧rancher重新规划一台单独的虚拟机。

针对 rancher 单容器部署方式,如何迁移到新机器上?下面介绍下 rancher 2.5.3 的迁移操作。大致思路是这样:

  • 先将旧 rancher 数据备份一份
  • 然后传到新的节点上
  • 重启一个新的 rancher ,加载旧数据
  • 基于新 rancher 的界面获取原集群的cattle-agent注册信息
  • 将新 rancher 的 cattle-agent 在旧集群更新,然后其重新注册到新的 rancher 地址

一、rancher数据备份

1、停止容器

 

[root@node ~]# docker stop 7cc

 

2、创建容器卷

 

[root@node ~]# docker create  --privileged  --volumes-from gracious_thompson  --name  rancher-data-2021-11-23 rancher/rancher:v2.5.5

 

3、创建压缩包

 

docker run  --volumes-from rancher-data-<日期> -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz /var/lib/rancher

目录先创建好,修改变量之后执行命令
[root@node ~]# docker run  --volumes-from rancher-data-2021-11-23 -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-rancher:v2.5.5-2021-11-23.tar.gz /var/lib/rancher

 

4、恢复原服务,然后旧rancher继续提供服务

 

[root@node ~]# docker start 7cc
7cc

 

二、新rancher数据恢复

1、将数据拷贝到新的rancher节点

        拷贝方式随意,我用的是xftp

2、解压压缩包

     

[root@localhost /data]# tar pzxvf rancher-data-backup-rancher_v2.5.5-2021-11-23.tar.gz

 

3、启动一个新的rancher并加载数据

 

[root@localhost /data]# docker run -d --restart=unless-stopped -v /data/var/lib/rancher:/var/lib/rancher -v /data/rancher/log:/var/log/ -p 8080:80 -p 8443:443 --privileged rancher/rancher:v2.5.5 --log-format json --audit-log-maxage 30 --audit-log-maxbackup 30 --audit-level 2

 

三、将集群中旧rancher的agent替换成新的cattle agent

 

rancher 是一个 c/s 架构,部署在集群中的 cattle agent 会同步信息给到 rancher server,rancher server 显示给用户。
因为在完成 rancher server 迁移之后,需要重新部署 cluster agent。

那怎么找到一个已经存在集群的注册 cluster agent 脚本,可以通过以下 url 访问到:

https://<rancher-server-ip>/v3/clusters/<集群id>/clusterregistrationtokens
<rancher-server-ip>   新rancher的ip地址
集群ip需要在下面截图方式找到,(新旧rancher上均可)

 

    最后确定的地址为

 

https://192.168.69.105/v3/clusters/c-5mxzn/clusterregistrationtokens

 

 

    可能会有多组"baseType": "clusterRegistrationToken",如上图。这种情况以createdTS最大、时间最新的一组为准,一般是最后一组。

    上述命令需要在k8s集群重新执行一下,即把集群中旧的agent替换成新的agent,执行完之后,可以正常访问。旧rancher无法访问了。

 

posted @ 2021-11-22 14:03  岁月静好·  阅读(785)  评论(0)    收藏  举报