rancher 因为域名和主机绑定比较紧密,因此如果 rancher 服务所在主机要迁移,那么通常你重新部署一个 rancher,然后把集群重新注册会更加简单一些。

当然,这种方案适用于:

  1. 集群数量不多的场景。
  2. 原来老的 rancher 服务配置不复杂的情况下,所谓不复杂主要指用户管理这块儿。

# 部署最新版 2.10.1 的问题

部署了最新版本 2.10.1 之后,发现注册集群的时候会出现一个错误:

time="2024-12-23T08:22:05Z" level=error msg="unable to read CA file from /etc/kubernetes/ssl/certs/serverca: open /etc/kubernetes/ssl/certs/serverca: no such file or directory"
time="2024-12-23T08:22:05Z" level=error msg="Strict CA verification is enabled but encountered error finding root CA"

1
2

此时,去到 rancher 的控制台,找到全局设置,把 agent-tls-mode 改为 system-store 即可解决此问题。详见:46798 (opens new window)

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

# 重新注册的问题

如果你直接将已经接入到 rancher-A 的集群删掉,然后再注册到 rancher-B,大概率是会失败的,rancher 官方给这个需求,提供了一个工具:rancher-cleanup (opens new window)

通过运行:

# 运行清理任务
kubectl create -f deploy/rancher-cleanup.yaml

# 查看清理任务
kubectl -n kube-system logs -l job-name=cleanup-job -f

1
2
3
4
5

运行完毕之后,再重新将该集群接入到其他 rancher 管理端就不会报错了。