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

Kubernetes集群访问Jenkins服务报错:endpoints 'default-http-backend' not found

问题排查:无法通过http://jenkins.company.com访问Kubernetes集群内的Jenkins服务

环境背景

裸金属Ubuntu 18.04服务器,Kubernetes v1.19.16集群,已配置HAproxy前端与后端,尝试通过域名访问集群内Jenkins服务失败。

关键问题与修正方案

1. Service端口映射错误

Jenkins容器默认监听8080端口,但当前Service的targetPort配置为80,导致流量无法正确转发到Jenkins容器。

修正后的service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: jenkins-svc
  namespace: jenkins
  annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/path:   /
      prometheus.io/port:   '8080'
spec:
  selector: 
    app: jenkins-server
  type: ClusterIP
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080  # 修正为Jenkins容器实际监听的端口

执行更新:

kubectl apply -f service.yaml -n jenkins

2. Ingress配置不一致且API版本需适配

  • 当前Ingress实际运行配置中,Host为jenkins.dpi.com,与yaml定义的jenkins.company.com不符,导致域名匹配失败。
  • 虽然v1.19支持networking.k8s.io/v1beta1,但该版本已废弃,建议升级为networking.k8s.io/v1格式。

修正后的ingress-resource.yaml:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jenkins-ingress
  namespace: jenkins
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: "jenkins.company.com"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: jenkins-svc
            port:
              number: 8080

执行更新:

kubectl apply -f ingress-resource.yaml -n jenkins

3. Nginx Ingress Controller未提供外部访问入口

kubectl get ing结果中Address字段为空,说明Ingress Controller未绑定到集群外部可访问的IP:

  • 裸金属环境未部署MetalLB时,需将Ingress Controller服务类型设为NodePort,并确保HAproxy后端指向集群节点的对应NodePort端口(默认80对应NodePort范围30000-32767)。
  • 若使用MetalLB,需配置地址池,让Ingress Controller的LoadBalancer类型服务获取可用外部IP,此时Address字段会显示该IP。

检查Ingress Controller状态:

kubectl get svc -n ingress-nginx  # 假设安装在ingress-nginx命名空间

4. 辅助检查项

  • 确认Jenkins Pod正常运行:kubectl get pods -n jenkins,确保Pod处于Running状态且容器端口为8080。
  • 确认DNS解析:jenkins.company.com需正确解析到HAproxy服务器IP。
  • 检查HAproxy配置:确保前端监听80端口,后端指向Ingress Controller的服务端口(NodePort或MetalLB分配的IP:80)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:20:19