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

GKE集群中Jenkins通过内部Ingress无法访问的问题求助

GKE内部Ingress访问Jenkins超时问题排查与解决

首先明确结论:Jenkins完全支持通过GKE内部Ingress使用私有IP访问,你遇到的问题并非平台限制,而是特定配置或环境兼容性问题导致的。结合你的场景,以下是具体排查方向和解决方案:

核心排查点

1. 健康检查不匹配

GKE内部Ingress依赖后端服务的健康检查判断Pod可用性,默认会访问服务根路径(/)。但Jenkins默认根路径会跳转到登录页面返回3xx状态码,而GCP健康检查默认仅识别2xx/301为健康状态,导致后端被标记为不健康,最终触发上游超时。

对比Nginx示例:Nginx根路径默认返回200状态码,健康检查能通过,因此内部Ingress可正常访问。

2. 共享VPC防火墙/网络策略限制

共享VPC环境下,宿主项目与服务项目间的防火墙规则可能阻止了GCP健康检查流量(来源IP段为130.211.0.0/22和35.191.0.0/16),导致健康检查失败,后端服务无法正常转发流量。此外,服务项目的网络策略若限制了Pod访问来源,也可能拦截内部Ingress的代理流量。

3. Jenkins安全配置拦截

Jenkins全局安全设置若开启IP白名单,可能未包含内部Ingress负载均衡的私有IP或VPC内部网段,导致请求被拦截;或者Jenkins未正确配置反向代理头(如X-Forwarded-For、X-Forwarded-Proto),引发请求处理异常。

解决方案

1. 配置自定义健康检查路径

修改Ingress注解,指定Jenkins可用的健康检查端点:

  • 先安装Jenkins的Health Check Plugin,启用无需认证即可返回200的/healthz端点;
  • 在Ingress配置中添加健康检查路径注解:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jenkins-internal-ingress
  annotations:
    kubernetes.io/ingress.class: "gce-internal"
    networking.gke.io/internal-load-balancer-ip: "你的静态私有IP"
    networking.gke.io/health-check-path: "/healthz"  # 指定健康检查路径
spec:
  rules:
  - http:
      paths:
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: jenkins-service
            port:
              number: 8080

若不想安装插件,也可临时修改Jenkins根路径返回200(不推荐生产环境),或将健康检查路径设为/login(部分场景下302跳转可被健康检查识别)。

2. 调整共享VPC防火墙规则

在服务项目的VPC中添加防火墙规则,允许GCP健康检查IP段访问Jenkins的服务端口(如8080):

  • 来源IP范围:130.211.0.0/22,35.191.0.0/16
  • 目标:Jenkins服务所在的节点或Pod标签
  • 协议端口:tcp:8080

同时确认宿主项目与服务项目的VPC peering规则已启用双向流量转发。

3. 修正Jenkins安全配置

  • 若开启IP白名单,添加内部Ingress的私有IP、VPC内部网段(如10.0.0.0/8)到允许列表;
  • 在Jenkins全局安全设置中,开启“通过代理访问”,设置代理服务器的IP范围为内部Ingress的IP段,并启用X-Forwarded-For、X-Forwarded-Proto头的解析。

4. 验证后端服务状态

在GCP控制台的「负载均衡」页面找到内部Ingress对应的后端服务,查看健康检查状态:

  • 若显示“不健康”,优先检查健康检查路径和防火墙规则;
  • 若显示“健康”,再排查Jenkins的安全配置和请求转发逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:53:15