同一VPC下EC2堡垒机访问EKS集群执行kubectl报I/O超时如何解决
EKS集群同VPC堡垒机kubectl访问I/O超时排查方案
1. 检查EKS公网访问白名单配置
- 你当前EKS开启了公网访问源白名单,若堡垒机kubeconfig默认配置的是EKS公网端点,需将堡垒机绑定的弹性公网IP添加到EKS公网访问白名单中,未添加的请求会直接被EKS拦截,触发超时报错。
2. 验证堡垒机网络连通性
- 先执行连通性测试确认网络链路是否正常:
nc -zv <你的EKS集群端点域名> 443 - 若返回连接失败,继续排查以下配置:
- 检查堡垒机所属安全组的出站规则,是否放通了到EKS端点443端口的访问
- 检查堡垒机所在子网关联的网络ACL,是否放通了出站443端口、入站临时端口的响应流量
- 若堡垒机部署在公有子网,确认子网路由表存在
0.0.0.0/0指向互联网网关(IGW)的路由;若部署在私有子网,确认路由表存在0.0.0.0/0指向NAT网关的路由
3. 切换为EKS私网端点访问(同VPC场景优先推荐)
- 同VPC下可以直接走内网访问EKS私网端点,无需经过公网、也不受公网白名单限制,配置如下:
- 确认VPC已经开启
enableDnsHostnames和enableDnsSupport两个DNS配置项 - 确认EKS的私网访问功能处于启用状态
- 配置完成后在堡垒机执行
nslookup <你的EKS集群端点域名>,正常会解析到VPC内网段的IP,此时再执行kubectl get nodes即可正常访问
- 确认VPC已经开启
4. 排查kubeconfig配置
- 若上述网络配置确认无误仍超时,检查kubeconfig中的集群端点地址是否正确,是否存在写错端口、域名的情况
- 注:IAM权限不足不会触发I/O超时报错,只会返回403类权限错误,可排除权限问题
内容的提问来源于stack exchange,提问作者WillSmith
相关产品推荐
相关产品推荐

