Rancher 2.9 下游k8s集群添加 新增主控节点 ,提示老主控节点 无法启动 rke-etcd-port-listener,因为2379 端口被占用

Rancher Server 设置

  • Rancher 版本:

  • 安装选项 (Docker install/Helm Chart): Helm Chart : RKE1

  • 在线或离线部署: 在线部署

下游集群信息

  • Kubernetes 版本: 1.30.7
  • Cluster Type (Local/Downstream): Downstream
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):admin
    • 如果自定义,自定义权限集:

**主机操作系统:debian12 **

**问题描述:Rancher 2.9 下游k8s集群添加 新增主控节点 异常

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志
Rancher日志:
 Can't start Docker container [rke-etcd-port-listener] on host [10.3.2.2]: Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint rke-etcd-port-listener (a41b6de2a66b0fa7751d56e1d4051dddac90914585398abf4b974ac954564353): failed to bind host port for 0.0.0.0:2379:192.168.222.2:1337/tcp: address already in use

10.3.2.2 是集群老的 主控节点 ,上面已经运行了正常的etcd服务,2379端口是被占用,所以无法启动 rke-etcd-port-listener 服务。这感觉陷入死循环。

10.3.2.2 已经部署了 master 节点,为什么还要在上面去部署 master 节点的组件呢?

:bulb: 如果您在生产环境中使用 Rancher,希望获得更专业、及时的技术支持,也欢迎了解一下我们的商业订阅服务。可以点击论坛右上角聊天(:speech_balloon:)图标,私信联系我了解详细信息,我们有中文支持团队为您服务 :blush:

部署了一个主节点,想变成三个主节点增加高可用。

那你在其他空的主机上去添加 master 节点就可以了啊,不应该在已创建的 master 节点上去重复添加

:bulb: 如果您在生产环境中使用 Rancher,希望获得更专业、及时的技术支持,也欢迎了解一下我们的商业订阅服务。可以点击论坛右上角聊天(:speech_balloon:)图标,私信联系我了解详细信息,我们有中文支持团队为您服务 :blush:

没有在老的主节点上添加,是新的主节点添加的时候 ,提示老的主节点不能启动 rke-etcd-port-listener 服务,好像新老主节点都需要启动rke-etcd-port-listener服务,看了下 rke-etcd-port-listener服务需要开通2379端口,但是老的主节点上2379端口已经被etcd占用了,然后就新的节点上一直就没反应

我也是这样想的,就新的主机上加master节点,提示报错

我试了好多次,新建集群测试也是这样,master节点只能一起添加,后面想新增master节点就报这个错误。之前rancher 2.5版本没有遇到过。

我理解 在 B 节点添加 master ,不会到 A 节点启动 2379 端口,你还是根据 如何清理节点? | Rancher文档 然后到 B 节点上把垃圾数据都清理了再去添加。

B节点是一个干净的服务器,我也尝试清理节点了再添加,但是还是同样的问题

在B节点添加了命令后,docker ps 看到会启动一个rke-etcd-port-listener 容器,启动的就有2379端口,然后一直没下文,然后在rancher上看,这个集群有报错,提示A节点无法启动2379端口,看日志就是我上面贴的内容。

为什么A节点需要启动 2379端口,我也觉得很奇怪,难道是需要启动 rke-etcd-port-listener服务,和新增的B节点同步etcd的数据? 这不清楚,但看报错好像是这样。然后我也尝试过 把A节点的etcd stop,过一段时间A节点启动 了rke-etcd-port-listener服务,但是好像报同步的错误。不知道怎么弄了,感觉这块有点死循环了