You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加MicroK8s工作节点时出现TLS握手超时问题如何解决?

MicroK8s节点加入成功但未出现在节点列表且TLS握手超时的排查方案
  • 检查工作节点MicroK8s组件状态
    执行microk8s status,确认kubelet、kube-proxy等核心组件是否正常运行。若有组件未就绪,重启MicroK8s:

    microk8s stop && microk8s start
    
  • 验证TLS证书完整性
    节点join后可能存在证书同步不完整的情况:

    1. 查看工作节点证书目录/var/snap/microk8s/current/certs/,确认client.crt、client.key、ca.crt存在且文件大小不为0。
    2. 若证书异常,从主节点手动同步:
      • 主节点拷贝证书到工作节点:
        sudo scp -r /var/snap/microk8s/current/certs/ pi@<工作节点IP>:/tmp/
        
      • 工作节点替换证书并重启:
        sudo cp -r /tmp/certs/* /var/snap/microk8s/current/certs/
        microk8s stop && microk8s start
        
  • 确认主节点API Server绑定配置
    若API Server仅绑定127.0.0.1,会导致TLS握手失败:

    1. 查看主节点kube-apiserver配置:
      microk8s kubectl describe pod kube-apiserver-<主节点名称> -n kube-system
      
    2. 检查command参数是否包含--advertise-address=10.0.0.101和--bind-address=0.0.0.0,若缺失则编辑配置文件:
      sudo nano /var/snap/microk8s/current/args/kube-apiserver
      
      添加或修改对应参数后重启主节点MicroK8s:
      microk8s stop && microk8s start
      
  • 排查防火墙和网络策略限制
    尽管nc能连通16443端口,但防火墙可能限制了TLS完整会话:

    1. 临时关闭主、工作节点防火墙测试:
      sudo ufw disable
      
    2. 若测试正常,重新配置防火墙规则:
      • 主节点开放端口:
        sudo ufw allow in on <局域网网卡> from <工作节点IP> to any port 16443,25000,8443
        
      • 工作节点开放端口:
        sudo ufw allow in on <局域网网卡> from <主节点IP> to any port 10250,30000:32767
        
  • 检查系统时间同步状态
    TLS握手对时间同步要求严格,时间差过大会导致证书验证失败:

    1. 主、工作节点安装并启动ntp服务:
      sudo apt install ntp -y
      sudo systemctl enable --now ntp
      
    2. 验证时间同步:
      timedatectl status
      
      确保System clock synchronized显示yes

内容的提问来源于stack exchange,提问作者petwri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:19:55