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

Ingress关联ClusterIP服务时端点未找到问题求助

问题排查与解决步骤

1. 修正Ingress配置的服务端口

你的Ingress配置里指定的服务端口是8006,但实际test-service的端点端口是8001——端口不匹配是导致Ingress找不到对应端点的核心原因之一。

把Ingress的端口配置改成8001:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: nginx-ingress
  # 若Ingress和服务不在同一命名空间,需在此指定Ingress的命名空间
  # namespace: your-ingress-namespace
spec:
  rules:
    - http:
        paths:
          - path: /api/test
            pathType: Prefix
            backend:
              service:
                name: test-service 
                # 修正为服务实际端口
                port:
                  number: 8001

2. 确保跨命名空间访问配置正确

如果test-service不在default命名空间,需要在Ingress的backend.service里显式指定服务的命名空间(Kubernetes 1.21+的Ingress v1版本支持该字段):

backend:
  service:
    name: test-service
    namespace: your-service-namespace  # 替换为test-service所在的命名空间
    port:
      number: 8001

同时用命令确认服务和端点的归属命名空间:

kubectl get service test-service -n your-service-namespace
kubectl get endpoints test-service -n your-service-namespace

3. 重新部署并验证Ingress

修改配置后重新应用:

kubectl apply -f your-ingress-file.yaml

然后检查Ingress状态,确认错误消失:

kubectl describe ingress nginx-ingress

4. 额外验证点

  • 检查test-service的标签选择器是否和Pod标签匹配:
    kubectl describe service test-service -n your-service-namespace
    
    查看输出里的Selector字段,确保Pod的标签包含对应键值对。
  • 确认Pod处于正常运行状态:
    kubectl get pods -n your-service-namespace -l <service-selector-key>=<service-selector-value>
    
    保证Pod状态为Running且就绪探针通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:44:57