针对 rancher 单容器部署方式,如何迁移到新机器上?下面介绍下 rancher 2.5.3 的迁移操作。大致思路是这样:
停止容器
docker stop <容器名称>
创建容器卷
docker run --volumes-from <容器名称> --name rancher-data-<日期> rancher/rancher:lastest
创建压缩包
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继续提供服务
docker start <容器名称>
将数据拷贝到新的rancher节点
scp /backup/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz <新节点>:/data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz
解压压缩包:
tar pzxvf /data/rancher-data-backup-<RANCHER_VERSION>-<日期>.tar.gz
启动一个新 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 是一个 c/s 架构,部署在集群中的 cattle agent 会同步信息给到 rancher server,rancher server 显示给用户。 因为在完成 rancher server 迁移之后,需要重新部署 cluster agent。
那怎么找到一个已经存在集群的注册 cluster agent 脚本,可以通过以下 url 访问到:
https://<rancher-server-ip>/v3/clusters/<集群id>/clusterregistrationtokens
这里的集群 id 可以在这里找到: