一次rancher server迁移

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

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

rancher备份

  1. 停止容器
docker stop <容器名称>
  1. 创建容器卷
docker run --volumes-from <容器名称> --name rancher-data-<日期> rancher/rancher:lastest
  1. 创建压缩包
docker run  --volumes-from rancher-data-<日期> -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz /var/lib/rancher
  1. 恢复原服务,然后旧rancher继续提供服务
docker start <容器名称>

新rancher恢复数据

  1. 将数据拷贝到新的rancher节点
scp /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz <新节点>:/data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz
  1. 解压压缩包:
tar pzxvf /data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz
  1. 启动一个新 rancher 并加载数据
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 访问到:

https://<rancher-server-ip>/v3/clusters/<集群id>/clusterregistrationtokens

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

一次rancher server迁移
一次rancher server迁移

参考文献

上一篇:阿里云《云原生架构白皮书》:云计算的最佳演进路径


下一篇:kubeflow系列(三):模型即服务,关于tensorflow serving的使用