Server节点如何重新加入集群

环境信息:
RKE2 版本: v1.27.8+rke2r1

节点 CPU 架构,操作系统和版本:

集群配置: 3servers, 1agents

问题描述:

按照官方安装文档安装,先安装一个server,再使用token安装其他server节点,最后安装agent节点。现在 uninstall 其他server节点和agent节点后,重新安装rke2就可以加入集群,uninstall 了第一个 server节点后,再安装就加入不到集群了

重现步骤:

预期结果:
正常加入原来的集群

实际结果:
第一个server重装后成为了一个单独的集群

日志

在我尝试了几次之后,我在 /etc/rancher/rke2/config.yaml 中添加了其他server对应文件的server和token信息,但tls-san的顺序没有调整,重新安装rke2后,正常加入集群了

之前的server-01节点配置文件:


之前的server-02(后加入的server节点)配置文件:

本次操作的server-01节点配置文件:


server-02和其他节点配置文件没有变化

等待节点状态变成Ready后,我又删除了server-01节点配置文件中的server和token信息,然后重启了rke2-server 服务

现在集群看着正常了,有没有大佬分析下这样操作是否可行正规,正确的操作应该是什么

基于上面的恢复方式没有问题,需要注意以下几点:

1、在进行节点加入集群时,至少需要1/2以上的server节点状态为ready,否则RKE2自己的ETCD数据会乱,恢复进去集群也时异常的
2、除主节点外(第一个server节点),其他节点都需要在 /etc/rancher/rke2/config.yaml中配置主节点的 server 和 token。要提前确认主节点的token是否修改过
3、主节点重新加入集群时,除了要满足ETCD正常的条件之外,还要确认另一个server节点的9345端口(api-server服务)是否开启,token是否一致
4、主节点使用其他server节点重新加入集群,实际上是对主节点进行了降级处理,其他server节点提升为主节点,所以在主节点成功加入集群后,其他节点要重新配置config.yaml中的server 和 token 为主节点使用的值,重启rke2 服务。
5、第四点在我的集群中不操作也可以,但是为了避免其他版本的差异,建议还是手动操作一下

1 个赞