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

OpenShift 4.11中Ingress无法自动创建Route对象问题求助

OpenShift Ingress 自动生成Route失效问题排查与解决建议

问题描述

在IBM Cloud的OpenShift 4.11集群中执行以下操作后,Ingress未自动生成对应的Route:

  • 创建新项目:oc new-project test-ingress
  • 部署测试应用:oc new-app openshift/hello-openshift
  • 创建无TLS的Ingress对象(配置如下)

此前在OpenShift 4.10集群中,将pathType: Exact改为pathType: Prefix可触发Route生成,但该方案在4.11版本中无效。

原Ingress配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-openshift
spec:
  rules:
  - host: hello-openshift.mycluster.example.com
    http:
      paths:
      - backend:
          # Forward to a Service called 'hello-openshift'
          service:
            name: hello-openshift
            port:
              number: 8080
        path: /
        pathType: Exact

解决建议

1. 确认Ingress Controller运行状态

  • 检查router pod是否正常就绪:
    oc get pods -n openshift-ingress
    
  • 查看router日志,排查Ingress处理过程中的报错:
    oc logs -n openshift-ingress -l app=router
    

2. 调整Ingress配置参数

OpenShift 4.11对Ingress资源的识别逻辑有调整,建议补充IngressClass注解并优化路径配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-openshift
  # 指定OpenShift默认Ingress类
  annotations:
    kubernetes.io/ingress.class: "default"
spec:
  rules:
  - host: hello-openshift.mycluster.example.com
    http:
      paths:
      - backend:
          service:
            name: hello-openshift
            port:
              number: 8080
        path: /
        pathType: Prefix

3. 验证后端服务可用性

  • 确认目标Service存在且端口配置正确:
    oc get svc hello-openshift
    
  • 检查Endpoint是否关联就绪的Pod:
    oc get endpoints hello-openshift
    
    若Endpoint无可用地址,需先排查应用Pod的运行状态。

4. 检查集群IngressClass配置

确认集群中存在默认的IngressClass资源:

oc get ingressclasses

若default类不存在,需通过集群管理员配置对应的IngressClass关联router。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:31:09