目录
rancher迁移!新
!!!改端口不可改版本,改版本不可该端口
1、旧环境
- 1、 旧环境rancher_home传至新环境
2、新环境
- 1、启动rancher_home放置data目录下,启动rancher
- 2、登录rancher,修改server-url
此时访问新的Rancher Server就可以看见已经被管理的Kubernetes集群了,但此时集群状态是unavailable,因为agent还连的是旧Rancher Server所以需要更新agent信息
依次访问全局 > 系统设置,页面往下翻找到server-url文件
单击右侧的省略号菜单,选择升级
修改server-url地址为新Rancher Server的地址
-
3、更新agent配置
-
通过新域名或IP登录 Rancher Server;
-
通过浏览器地址栏查询集群ID, c/后面以c开头的字段即为集群 ID,本例的集群ID为c-gk7gg
-
访问https://<新的server_url>/v3/clusters/<集群ID>/clusterregistrationtokens页面;
-
打开clusterRegistrationTokens页面后,定位到data字段;找到insecureCommand字段,复制 YAML 连接备用
-
可能会有多组"baseType": “clusterRegistrationToken”,如下图,这种情况以createdTS最大、时间最新的一组为准,一般是最后一组。
-
使用kubectl工具,在master节点上更改集群ip端口
vim /root/.kube/config
-
使用kubectl工具,在master上执行刚才复制的yaml连接命令的基础上加上集群名更新agent相关配置。
curl --insecure -sfL <替换为上面步骤获取的YAML文件链接> | kubectl --context=xxx apply -f -
#--context=xxx xxx为集群名,可在.kube/config文件内查看
curl --insecure -sfL https://20.0.0.99:8098/v3/import/r49jgrvpsbwxkskrccv74kjblqpd9rmq6k2wrzjnfdsvchmbpjx646_c-gk7gg.yaml | kubectl --context=test apply -f -
#如有报错,继续执行一遍
目的
20.0.0.11 rancher:v2.5.5 8099端口登录
20.0.0.12 master
20.0.0.13 work1
20.0.0.14 work2
20.0.0.99
需求:把rancher迁移到20.0.0.99上,更改登录端口为8098
旧环境
1、rancher_home目录备份/master上安装kubectl并正常使用
!!!重要
2、创建容器卷
docker create --volumes-from rancher --name rancher-data-20220327 rancher/rancher:v2.5.5
#20220327 日期
#v2.5.5 rancher版本,可docker ps查看容器版本
3、创建压缩包
docker run --volumes-from rancher-data-20220327 -v /data/:/backup:z busybox tar pzcvf /backup/rancher-data-backup-v2.5.5-20220327.tar.gz /var/lib/rancher
#20220327 日期
#/data/: /data目录下生成文件
#/var/lib/rancher rancher默认目录
4、包传到新环境
scp /data/rancher-data-backup-v2.5.5-20220327.tar.gz root@20.0.0.99:/data/rancher_home
#新环境/data/下新建rancher_home目录
新环境
1、解压备份数据并使用rancher目录
cd /data/rancher_home && tar -xvz -f rancher-data-backup-v2.5.5-20220327.tar.gz
#解压出来/data/rancher_home/var/lib/rancher文件
mv /data/rancher_home/var/lib/rancher /data/rancher_home/
#把解压出的/data/rancher_home/var/lib/rancher文件移动到/data/rancher_home/rancher
2、使用备份数据启动rancher
docker run -d --restart=unless-stopped --privileged -p 8088:80 -p 8098:443 -v /data/rancher_home/rancher:/var/lib/rancher -v /data/rancher_home/auditlog:/var/log/auditlog --name rancher rancher/rancher:v2.5.5
#新启动的rancher必须版本和旧环境一直,可更改登录端口
3、登录rancher,修改server-url
此时访问新的Rancher Server就可以看见已经被管理的Kubernetes集群了,但此时集群状态是unavailable,因为agent还连的是旧Rancher Server所以需要更新agent信息
依次访问全局 > 系统设置,页面往下翻找到server-url文件
单击右侧的省略号菜单,选择升级
修改server-url地址为新Rancher Server的地址
4、更新agent配置
-
通过新域名或IP登录 Rancher Server;
-
通过浏览器地址栏查询集群ID, c/后面以c开头的字段即为集群 ID,本例的集群ID为c-gk7gg
-
访问https://<新的server_url>/v3/clusters/<集群ID>/clusterregistrationtokens页面;
-
打开clusterRegistrationTokens页面后,定位到data字段;找到insecureCommand字段,复制 YAML 连接备用
-
可能会有多组"baseType": “clusterRegistrationToken”,如下图,这种情况以createdTS最大、时间最新的一组为准,一般是最后一组。
-
使用kubectl工具,在master上执行刚才复制的yaml连接命令更新agent相关配置。
curl --insecure -sfL https://20.0.0.99:8098/v3/import/r49jgrvpsbwxkskrccv74kjblqpd9rmq6k2wrzjnfdsvchmbpjx646_c-gk7gg.yaml | kubectl apply -f -
#如有报错,继续执行一遍
5、验证
过一会,集群变为Active状态,然后验证我们之前部署的应用是否可用
升级rancher版本
1、停止删除rancher容器,并重启docker
!!!重要
rancher_home目录备份
[root@localhost ~]# docker ps #查看运行容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c655f8250806 rancher/rancher:v2.5.5 "entrypoint.sh" 6 minutes ago Up 6 minutes 0.0.0.0:8088->80/tcp, 0.0.0.0:8098->443/tcp rancher
[root@localhost ~]# docker stop c655f8250806 #停止rnacher容器
c655f8250806
[root@localhost ~]# docker rm c655f8250806 #删除rancher容器
c655f8250806
[root@localhost ~]# docker ps -a #查看
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# systemctl restart docker #重启docker
[root@localhost ~]#
2、更改版本启动rancher
docker run -d --restart=unless-stopped --privileged -p 8088:80 -p 8098:443 -v /data/rancher_home/rancher:/var/lib/rancher -v /data/rancher_home/auditlog:/var/log/auditlog --name rancher rancher/rancher:v2.5.12
#只改动版本,端口不能改变
3、验证
查看rancher证书过期时间
[root@mysql-0001 ~]# docker ps #查看rancher ID
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3c1a4f89fc2 rancher/rancher:v2.5.5 "entrypoint.sh" 5 months ago Up 5 months 0.0.0.0:8088->80/tcp, 0.0.0.0:8099->443/tcp rancher
[root@mysql-0001 ~]# docker exec -it b3c1a4f89fc2 bash #进容器
root@b3c1a4f89fc2:/var/lib/rancher# cd /var/lib/rancher/k3s/server/tls
root@b3c1a4f89fc2:/var/lib/rancher/k3s/server/tls# for i in $(ls /var/lib/rancher/k3s/server/tls/*.crt);do openssl x509 -enddate -noout -in $i; done #查看
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 9 17:01:47 2031 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 11 17:01:47 2022 GMT
notAfter=Oct 9 17:01:47 2031 GMT
notAfter=Oct 9 17:01:47 2031 GMT
notAfter=Oct 11 17:01:47 2022 GMT