Rancher提供了两种安装方法,即单节点安装和高可用安装。单节点安装可以让用户快速部署适用于短期开发或PoC的Rancher 2.x,而高可用部署则明显更适合Rancher的长期部署。
要点须知
-
针对开源用户,对于从单个节点迁移到HA的工作,Rancher Labs不提供官方技术支持。
-
以防在此过程中出现问题,您应该熟悉Rancher架构以及故障排除的方法。
前期准备
为了顺利将单个节点Rancher安装迁移到高可用性安装,您必须做如下准备:
-
您需要运行Rancher的2.1.x版本以及RKE 的0.1.x版本
-
server-url参数必须是可以被更改为指向HA Rancher安装的DNS名称。如果您的server-url是IP地址,则必须先将server-url更改为DNS名称并更新用户集群的节点/集群代理,以便在迁移后允许HA集群的nginx ingress控制器能够正确路由Rancher流量。否则,您将无法访问所有工作负载集群。
-
您需要配置专门用于在HA中运行Rancher的新实例。因为执行就地迁移非常危险,并且没有回滚策略。我们强烈建议您参考官方建议的架构。
(https://rancher.com/docs/rancher/v2.x/en/installation/ha/#recommended-architecture )
-
您需要熟悉单节点安装和高可用性安装之间的体系结构差异。
-
不要更改单节点安装的CA。换言之,如果您已经在使用自定义证书了,那么请继续使用它。
迁移教程
从Rancher的单个节点迁移到高可用性安装的过程可以总结为以下几个步骤:
在Rancher单节点实例上
1、 备份Rancher单节点容器
2、 使用单节点容器中找到的证书组装pki.bundle.tar.gz
3、 运行临时utility容器以执行容器内运行的嵌入式etcd的etcd快照
4、 停止旧的Rancher单节点容器
5、 将server-url的DNS记录更改为指向新的HA负载均衡器
在您的工作站或者bastion host上
1、 将生成的pki.bundle.tar.gz和single-node-etcd-snapshot从Rancher单节点实例传输到工作目录中的工作站上(工作目录原先最好是空的)
2、 生成指向新HA节点的rke集群配置文件
3、 rke etcd snapshot-restore从单节点容器中检索快照
4、 rke up
5、 根据文档在HA中安装Rancher
开始之前
在整个教程中,您将输入一系列命令,以将您环境中的数据替换为占位符。这些占位符用斜角括号和所有大写字母()表示。
下表是找到本教程中使用的各种占位符。请您在开始之前记下此信息,这将有助于您后续的操作。