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

GCE上的Kubernetes Master无法识别AWS EC2节点求助

我来帮你梳理下EC2节点侧导致join失败的常见排查方向,结合你用的K8s 1.9.3和Docker 17.12版本,一步步来定位问题:

排查EC2节点kubeadm join失败的具体步骤

1. 深挖kubelet日志的关键报错

你已经拿到了systemctl status kubelet.service和journalctl -u kubelet的输出,重点盯这几类报错:

  • 网络连通类:有没有connection timed out或者cannot reach apiserver的提示?如果有,说明EC2节点到GCE master的6443端口不通,这是跨云集群最常见的问题之一
  • 版本兼容类:K8s 1.9.3官方推荐的Docker版本是1.13.1、17.03.x,你用的17.12可能存在兼容性冲突,日志里如果出现docker daemon version incompatible这类提示,就得考虑降级Docker
  • Cgroup驱动不匹配:K8s 1.9默认用cgroupfs,如果Docker配置的是systemd,会直接导致kubelet启动失败。检查Docker配置文件/etc/docker/daemon.json里的exec-opts是否为["native.cgroupdriver=cgroupfs"],同时核对kubelet配置/etc/systemd/system/kubelet.service.d/10-kubeadm.conf里的--cgroup-driver参数是否一致

2. 验证跨云网络的连通性

虽然你说两边都开了防火墙,但跨云环境的网络限制很容易踩坑:

  • 在EC2节点上执行telnet <master-public-ip> 6443,如果连接失败,按以下顺序排查:
    • 确认GCE防火墙规则是否真的允许**所有来源(0.0.0.0/0)**访问6443端口,且规则已绑定到master节点所在的实例
    • 检查AWS安全组的出站规则,是否允许访问所有端口(至少要放行6443),同时确认EC2所在子网的NACL没有限制出站流量
    • 验证EC2节点能否正常访问公网(比如ping 8.8.8.8),如果不行,大概率是子网没配置互联网网关

3. 确认kubeadjoin命令的有效性

  • 检查token是否过期:K8s 1.9的token默认24小时就会过期,你可以在GCE master上执行kubeadm token list查看状态,如果过期了,重新生成带join命令的token:kubeadm token create --print-join-command
  • 确认master IP是公网IP:EC2节点在AWS,无法直接访问GCE的内网IP,必须用master的公网IP,同时要确保master的kube-apiserver配置里绑定了这个公网IP(执行ps aux | grep kube-apiserver,看有没有--advertise-address=<公网IP>参数)

4. 修正EC2节点的系统基础配置

K8s 1.9对节点系统配置有硬性要求:

  • 临时关闭SELinux:setenforce 0,然后修改/etc/selinux/config设置SELINUX=disabled永久生效
  • 关闭swap:swapoff -a,并注释/etc/fstab里的swap挂载行,kubelet必须关闭swap才能正常运行
  • 开启必要的内核参数:
    sysctl -w net.bridge.bridge-nf-call-iptables=1
    sysctl -w net.ipv4.ip_forward=1
    
    把这两行写入/etc/sysctl.conf,确保重启后依然生效

5. 重启kubelet并重试join

当所有配置修正后,先重启kubelet服务:

systemctl daemon-reload
systemctl restart kubelet

然后重新执行kubeadm join命令,再查看kubelet日志有没有新的变化。

如果还是卡壳,把日志里的具体报错内容贴出来,比如完整的错误提示行,这样能更精准地定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:50:11