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

配置内部负载均衡的GKE托管应用无法访问问题咨询

GKE 内部Ingress返回upstream request timeout故障排查求助

我有一个运行在GKE(v1.20.10-gke.1600版本)上的Kubernetes集群,托管了一批小型应用。其中部分应用仅允许通过内部IP访问,我们使用VPN接入内网,其余所有服务都可正常访问。
我可以确认这些应用首次部署时是可正常访问的,由于近2个月使用率极低,直到今日收到访问报错的反馈我才发现问题,部署时完全按照官方指南操作。

Deployment配置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: foo-app
  labels:
    app: "foo"
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  selector:
    matchLabels:
      app: "foo"
  template:
    metadata:
      labels:
        app: "foo"
    spec:
      containers:
      - name: foo-container
        image: eu.gcr.io/project-12345/foo:--DEPLOYMENT-NUMBER--
        imagePullPolicy: Always
        resources:
          limits:
            memory: 300Mi
            cpu: 300m
          requests:
            memory: 100Mi
            cpu: 100m
        ports:
        - containerPort: 8080
          name: tcp
      nodeSelector:
        bha.preemptible: "false"
---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: foo-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: foo-app
  minReplicas: 1
  maxReplicas: 3
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 95
  - type: Resource
    resource:
      name: memory
      target:
        type: Utilization
        averageUtilization: 80

Service与Ingress配置

apiVersion: v1
kind: Service
metadata:
  name: foo-nodeport
  annotations:
    cloud.google.com/neg: '{"ingress": true}'
  labels:
    app: "foo"
spec:
  selector:
    app: "foo"
  type: NodePort
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-ingress
  annotations:
    kubernetes.io/ingress.class: gce-internal
    kubernetes.io/ingress.regional-static-ip-name: foo-ingress
spec:
  rules:
  - host: foo.domain.net
    http:
      paths:
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: foo-nodeport
            port: 
              number: 80

对上述两份yaml文件执行kubectl apply操作没有返回任何报错。我已注意到防火墙规则相关提示,完成了对应配置更新,走完官方排查流程后所有组件状态均显示正常。
部署前我已创建好内部静态IP10.11.0.3,可以在负载均衡前端配置中看到该IP已被正常使用,负载均衡后端也正确指向了节点IP10.101.1.2。
但当我通过浏览器访问10.11.0.3或者foo.domain.net时,会返回upstream request timeout错误,直接访问10.101.1.2则可以正常加载应用。
我排查过容器运行状态,一切正常:nginx进程运行正常,日志中没有错误记录。目前判断问题出在负载均衡配置上,但无法定位具体错误点。请问可以从哪些方向排查,以定位问题根源?

补充信息

在社区用户的建议下,我通过日志浏览器查询了域名相关的记录,仅查询到如下格式的警告日志:

{
  "insertId": "ut0lskdjtr8",
  "jsonPayload": {
    "@type": "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
  },
  "httpRequest": {
    "requestMethod": "GET",
    "requestUrl": "http://foo.domain.net/",
    "requestSize": "517",
    "status": 504,
    "responseSize": "118",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
    "remoteIp": "10.13.209.144:52409",
    "serverIp": "10.101.1.2:8080",
    "latency": "30.001717s",
    "protocol": "HTTP/1.1"
  },
  "resource": {
    "type": "internal_http_lb_rule",
    "labels": {
      "region": "europe-west2",
      "project_id": "project-12345",
      "backend_type": "NETWORK_ENDPOINT_GROUP",
      "backend_target_type": "BACKEND_SERVICE",
      "network_name": "network-shared-vpc",
      "backend_scope": "europe-west2-c",
      "matched_url_path_rule": "/",
      "backend_scope_type": "ZONE",
      "url_map_name": "k8s2-um-zeslpm63-ns-frontend-apps-foo-ingress-usro40mc",
      "backend_name": "k8s1-009b06c9-ns-frontend-apps-foo-nodeport-80-8d5eff42",
      "backend_target_name": "k8s1-009b06c9-ns-frontend-apps-foo-nodeport-80-8d5eff42",
      "forwarding_rule_name": "k8s2-fr-zeslpm63-ns-frontend-apps-foo-ingress-usro40mc",
      "target_proxy_name": "k8s2-tp-zeslpm63-ns-frontend-apps-foo-ingress-usro40mc"
    }
  },
  "timestamp": "2021-11-12T09:14:29.481099Z",
  "severity": "WARNING",
  "logName": "projects/project-12345/logs/loadbalancing.googleapis.com%2Frequests",
  "receiveTimestamp": "2021-11-12T09:15:07.271078019Z"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:00