K8s 节点接不进去?
麒麟服务器加入 Kubernetes 集群失败的原因与分诊:token 过期、控制面端口不通、时间与架构不一致、本地组件版本不匹配,按四段排查。
简短答案
K8s 节点接不进,九成坏在四段之一:token 过期或无效、节点到控制面 6443 端口不通、节点与集群版本/架构不一致、本节点组件(内核参数、cgroup 版本)不满足要求。按这四段分诊,别从重装开始。
现象对照表
| 报错关键词 | 对应分段 |
|---|---|
token ... invalid / expired |
认证 |
connection refused / timed out |
网络(6443) |
| 版本不匹配提示 | 组件版本 |
| cgroup v2 / 内核参数告警 | 本地配置 |
排查步骤
# 1. 网络定界:节点到控制面 6443 是否通
curl -kI https://控制面IP:6443
# 2. 时间漂移:偏差过大会认证失败
date
# 先修好时间同步再试 join
# 3. 重新取 token(在控制面节点上)
# 按集群组件命令重新生成 join 命令并核对内容
# 4. 本地组件检查
# cgroup 版本、必要内核模块,以集群要求的版本为准
systemd-cgls | head
同一批节点都挂 6443 不通时,先查控制面防火墙与网络策略,不要逐台重装节点。
处理办法
- token 过期:在控制面重新生成 join 命令;
- 6443 被拦:按行业规范放行该端口并最小化放通;
- 架构/版本不匹配:确认集群版本,本地组件按 服务器 V11 条目 的基线装齐;
- 本地兜底或重置系统:介质取 麒麟快捷入口 对应条目,U 盘制作参考 Rufus 启动盘条目。
操作小结
- 按”认证→网络→版本→本地”分段查;
- 时间漂移先修再 join;
- 批量失败先查控制面;
- 记下集群版本号,组件与之对齐。