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

EKS LoadBalancer创建成功但Web应用指定端口无法访问求助

问题排查与解决方案

你不需要额外创建新的Kubernetes资源,核心问题是你的LoadBalancer Service和myapp Deployment尚未正确关联,导致请求无法转发到Pod。以下是具体的检查和修复步骤:

1. 确认Service选择器与Deployment标签匹配

LoadBalancer Service通过标签选择器定位Pod,两者的标签必须完全一致:

  • 查看Deployment的Pod模板标签:
    kubectl get deployment myapp -o jsonpath='{.spec.template.metadata.labels}'
    
    示例输出:{"app":"myapp"}
  • 查看Service的选择器配置:
    kubectl get service lb -o jsonpath='{.spec.selector}'
    
    若输出与Deployment标签不匹配,修改Service的YAML文件,更新spec.selector部分使其与Deployment标签一致,再重新应用:
    kubectl apply -f your-service.yaml
    

2. 验证Service端口映射配置

确保Service的端口配置正确映射到Pod的3000端口:

  • port:Service对外暴露的端口(即你访问时用的3000端口)
  • targetPort:Pod内部监听的端口(必须设置为3000,与myapp的监听端口一致)

示例正确的端口配置片段:

spec:
  ports:
  - port: 3000
    targetPort: 3000
    protocol: TCP

3. 检查Pod运行状态

确认Deployment已成功创建Pod且Pod处于正常运行状态:

kubectl get pods -l app=myapp  # 此处标签需与Deployment的标签一致

若Pod状态异常(如CrashLoopBackOff),先排查Pod启动问题,比如镜像是否有效、容器端口配置是否正确等。

4. 确认Service已关联到Pod

查看Service的端点(Endpoints),确认有Pod被成功关联:

kubectl get endpoints lb

若ENDPOINTS列为空,说明Service与Pod的标签不匹配,回到步骤1修复即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:14:53