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

AWS上使用kops创建的K8S集群1-2天后访问超时如何解决?

问题排查路径与常见解决方案

1. 安全组入站规则限制

kops创建集群时默认会将执行创建命令时的设备公网IP,加入API Server对应安全组的443端口入站白名单。绝大多数民用宽带、办公网络的公网IP都是运营商动态分配的,通常24小时左右会自动更换,IP变更后就会被安全组拦截,无法访问API Server。

  • 验证方法:
    1. 直接搜索“我的公网IP”获取当前设备的出口公网IP
    2. 登录AWS控制台,找到集群master节点/API Server关联的安全组,查看443端口的入站规则来源IP是否和当前公网IP一致
  • 解决方法:
    临时将安全组443端口入站规则设置为0.0.0.0/0测试能否恢复访问,确认是IP问题后,再将规则更新为你当前的公网IP即可。

2. API Server公网地址变更

如果创建集群时没有给master节点绑定固定弹性IP(EIP),当master节点因AWS宿主机维护、实例故障、资源不足重启后,AWS会自动为实例分配新的公网IP,你本地kubeconfig文件中存储的还是旧的API地址,就会出现连接超时。

  • 验证方法:
    登录AWS EC2控制台,查看master节点当前的公网IP,和kubeconfig文件中server字段对应的IP/域名解析地址比对
  • 解决方法:
    如果用的是自定义域名解析,去Route53找到集群API域名的A记录,更新为新的公网IP;如果kubeconfig中直接写的IP,直接更新server字段的地址即可。

3. 控制面节点服务故障

如果master节点选择的配置过低(比如使用t2.micro、t3.micro这类低配实例),部署较多组件后很容易出现CPU/内存占满、OOM杀死kube-apiserver进程的情况,导致API服务不可用。

  • 验证方法:
    1. 登录AWS EC2控制台,查看master节点的实例状态、系统/实例状态检查是否正常,CPU、内存监控指标是否存在打满的情况
    2. 如果实例运行正常,可以通过AWS Session Manager或者SSH登录master节点,执行systemctl status kubelet、docker ps | grep kube-apiserver确认核心控制面进程是否正常运行
  • 解决方法:
    如果是资源不足导致的进程崩溃,扩容master节点配置,重启控制面服务即可恢复。

4. 负载均衡健康检查失败

如果你的集群API Server是通过AWS ELB/NLB暴露的,当后端master节点的健康检查连续失败时,负载均衡会停止转发流量,也会导致连接超时。

  • 验证方法:
    登录AWS ELB控制台,找到集群对应的API负载均衡,查看后端目标组的健康状态是否异常
  • 解决方法:
    如果健康检查失败,排查master节点的安全组是否放行了负载均衡的健康检查网段,kube-apiserver的6443端口是否能正常响应请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:06