变更 Rancher Server IP 或域名
一.背景
由于各种原因导致的需要对rancher的Server IP或者域名进行变更(更改访问地址,更改公网IP地址等)
二.流程图
三.操作前了解相关配置和要求
相关官方文档
rancher:日常使用的rancher主要分两部分rancher server和rancher agent
rancher server:我们所访问的rancher网页
rancher agent:rancher安装在k8s集群中的agent
四.操作步骤
确认所有需要配置的集群
登录ranche页面,查看rancher已经连接的所有集群
确认此处所有集群在rancher故障后均可使用命令行进行管理配置(变更过程中rancher与集群的连接会断开,过程中无法通过rancher进行k8s集群的管理)
获取集群ID
这里建议在修改rancher配置之前进行获取,防止修改rancher server配置后无法正常获取集群ID
通过rancher访问对应集群的页面,查看url地址中的集群ID
# 此处c/***/中间部分即为集群ID(我这里rancher是高可用的,所以显示是local。如果docker部署的rancher,集群ID一般为英文字母、数字、连字符的组合) https://rancher.ilomumu.xyz/dashboard/c/local/explorer#cluster-metrics#
每个集群会有自己的集群ID,将ID记录下来防止搞混,后续需要使用到
修改rancher server上相关配置
找到rancher相关配置
将此处url修改为我们需要更换的url或者IP(修改完成后rancher就会和集群断开链接)
修改完成后再次访问rancher就需要通过新的域名或者ip地址进行访问,同时rancher上会显示k8s集群异常(由于rancher agent连接rancher server异常)。此时k8s集群无异常,无需担心。
修复rancher agent
获取新的rancher agent配置文件
找到之前获取的集群ID,按照如下格式访问
https://<新的server_url>/v3/clusters/<集群ID>/clusterregistrationtokens
打开页面后如图所示
找到其中的data字段
可以看到我们的data中指包含一个baseType段,注意此处可能有多个baseType段。如果存在多个baseType段,请找到其中createdTS最大的那段进行操作。
找到其中的insecureCommand字段,可以看到字段中包含一个yaml文件的链接地址,该链接地址及为最新的rancher agent的配置文件
更新rancher agent
将刚刚的链接地址贴到浏览器上下载这个文件,并且拷贝到相关集群内应用即可
kubectl apply -f xxx.yaml
更新完agent后稍等片刻可以看到rancher上显示集群正常。变更完陈
五.注意事项
变更前对rancher进行备份
建议提前获取集群ID
六.结果检查
rancher页面显示正常即可