rancher迁移方案-备份与恢复

2021-10-28 10:52:00 浏览数 (1)

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

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

rancher备份

停止容器

代码语言:javascript复制
docker stop <容器名称>

创建容器卷

代码语言:javascript复制
docker run --volumes-from <容器名称> --name rancher-data-<日期> rancher/rancher:lastest

创建压缩包

代码语言:javascript复制
docker run  --volumes-from rancher-data-<日期> -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz /var/lib/rancher

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

代码语言:javascript复制
docker start <容器名称>

新rancher恢复数据

将数据拷贝到新的rancher节点

代码语言:javascript复制
scp /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz <新节点>:/data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz

解压压缩包:

代码语言:javascript复制
tar pzxvf /data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz

启动一个新 rancher 并加载数据

代码语言:javascript复制
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.9 --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 访问到:

代码语言:javascript复制
https://<rancher-server-ip>/v3/clusters/<集群id>/clusterregistrationtokens

这里的集群 id 可以在这里找到:

参考文献

  • Rancher Docs: Backing up Rancher Installed with Docker

0 人点赞