云服务器k3s工作节点加入其他k3s控制平面的bug踩坑

云服务器k3s工作节点加入其他k3s控制平面的踩坑之旅

在部署k3s集群时,将本地Windows Server作为控制平面,并使用frpc将控制平面暴露到公网后,尝试让远程云服务器作为工作节点加入控制平面时遇到了一系列挑战。

最初,只暴露了6443端口,尝试使用标准命令加入工作节点时未能成功。经过分析,发现还需要暴露6444、10250、8472(udp/tcp)、10251和10252端口。

在暴露了所有必需端口后,云工作节点又报出了"Node password rejected"的错误,提示节点密码被拒绝或主机名重复。这个问题是由于k3s默认使用节点主机名作为节点ID,而在不同环境下主机名可能重复造成的。

为解决这个问题,需要在控制平面的k3s服务配置中添加"--node-external-ip"参数,指定节点的外部IP地址。但在做了这个修改后,又遇到了6444端口的CA证书错误。

最终,在重启k3s服务后,使用"--with-node-id"参数强制为工作节点指定唯一ID,云工作节点终于成功加入了控制平面集群。

这一过程充分展示了在异构环境下部署k3s集群时可能遇到的各种棘手问题,需要对k3s的工作原理、网络拓扑和证书管理有深入的理解,并具备相当的故障排查能力,才能应对遇到的各种挑战。

相关推荐
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh