云服务器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的工作原理、网络拓扑和证书管理有深入的理解,并具备相当的故障排查能力,才能应对遇到的各种挑战。

相关推荐
小陈phd10 分钟前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!14 分钟前
【Linux】进程状态
linux·运维
明明跟你说过43 分钟前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
O&REO1 小时前
单机部署kubernetes环境下Overleaf-基于MicroK8s的Overleaf应用部署指南
云原生·容器·kubernetes
politeboy1 小时前
k8s启动springboot容器的时候,显示找不到application.yml文件
java·spring boot·kubernetes
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
运维小文2 小时前
K8S资源限制之LimitRange
云原生·容器·kubernetes·k8s资源限制
登云时刻2 小时前
Kubernetes集群外连接redis集群和使用redis-shake工具迁移数据(二)
redis·容器·kubernetes
Mr_Xuhhh2 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin5 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip