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

AWS EKS中ClusterIP无法访问原因及使用方法咨询

ClusterIP的设计用途

ClusterIP是Kubernetes Service的默认类型,其分配的虚拟IP仅在集群内部网络范围内生效,核心作用是为集群内运行的工作负载(Pod、节点系统组件)提供统一的内部服务发现、内部访问入口,由kube-proxy在节点侧通过iptables/ipvs规则完成到后端Pod的负载均衡。

这个IP本身没有对应的实体网络接口,不属于集群所在VPC的可路由网段,集群外的网络设备默认没有指向该网段的路由规则,因此从集群外部直接访问ClusterIP必然会出现网络不可达的问题,这不是配置错误,是该类型Service的设计边界。从你提供的配置截图来看,当前创建的nginx Service就是默认ClusterIP类型,出现外部访问10.100.145.181不通的现象完全符合预期。你当前能正常访问的172.31.22.183属于VPC内网节点网段地址,应该是你配置Service时同时映射了NodePort,通过节点IP+端口的方式访问到了服务,因此可以正常响应。

单IP负载均衡访问集群服务的配置方案

针对AWS EKS环境,根据你的访问场景选对应配置即可,不需要做额外的底层路由修改:

  • 公网固定单IP访问场景:将Service类型修改为LoadBalancer,EKS会自动对接AWS负载均衡服务创建公网NLB/ALB,自动将流量负载均衡到后端健康的Pod实例。如果需要固定不变的公网IP,可以提前申请AWS弹性公网IP(EIP),通过Service注解将EIP绑定到创建的NLB上,即可获得固定的公网访问入口。
  • VPC内网固定单IP访问场景:同样使用LoadBalancer类型Service,添加注解service.beta.kubernetes.io/aws-load-balancer-internal: "true",EKS会创建内网负载均衡,分配VPC网段内的固定内网IP,同VPC下的所有资源都可以通过这个单IP访问服务,负载均衡规则由K8s和AWS LB自动维护。
  • 多服务统一单IP入口场景:如果需要用同一个IP承载多个RESTful API服务的路由,可以在集群内部署NGINX Ingress Controller,将Ingress Controller的访问入口配置为带固定IP的LB类型,之后通过Ingress资源配置不同路径/域名到对应后端Service的转发规则,所有流量都经过这个统一的单IP入口,由Ingress和Service两层完成负载均衡转发。

注意:不要尝试通过手动配置静态路由、VPN打通集群网段的方式从外部直接访问ClusterIP,这种方式违反K8s网络设计逻辑,后续会出现大量路由冲突、安全组放行、端口映射的维护问题,不属于生产可用方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:54:11