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

在Minikube上配置Kong Ingress实现Apache NiFi API路由遇阻求助

Kong Ingress Controller 配置NiFi路由失败排查方案

1. 修复Host头与域名解析问题

  • 你的Ingress规则绑定了kong.example主机名,直接用$PROXY_IP访问时未携带Host头,Kong无法匹配对应路由。执行curl时必须指定Host头:
    curl -i -H "Host: kong.example" http://$PROXY_IP/nifi-api/...
    
  • 同时需在本地hosts文件中添加映射,将kong.example指向Minikube集群IP(执行minikube ip获取):
    {MINIKUBE_IP} kong.example
    

2. 纠正路径转发配置(核心问题)

你当前设置了konghq.com/strip-path: 'true',但NiFi的API根路径本身就是/nifi-api,这会导致Kong转发请求时移除/nifi-api前缀,最终转发到NiFi的路径变成/...,而NiFi实际期望的路径是/nifi-api/...,因此无法匹配路由。

调整方式二选一:

  • 方式一:关闭路径剥离,将注释改为:
    konghq.com/strip-path: 'false'
    
  • 方式二:保留路径剥离,同时添加路径重写,让Kong转发时自动补上/nifi-api前缀:
    annotations:
      konghq.com/strip-path: 'true'
      konghq.com/rewrite: '/nifi-api'
    

3. 验证NiFi Service集群内可达性

在Minikube集群内临时启动测试Pod,确认NiFi服务可正常访问:

kubectl run -it --rm busybox --image=busybox:1.28 -- wget -O- http://nifi:30026/nifi-api/

如果访问失败,检查NiFi Service配置:

  • 确认Service的port.number对应NiFi Pod的正确端口(NiFi默认API端口为8080,若使用NodePort类型Service,集群内访问应使用ClusterIP端口而非NodePort)
  • 确认NiFi Pod处于Running状态,且端口映射正确

4. 检查Kong路由与服务状态

  • 确认Ingress资源已被Kong正确处理:
    kubectl get ingress nifi-api-routing
    
    查看输出中ADDRESS字段是否已填充,状态为Ready
  • 端口转发Kong Admin服务,查看已创建的路由和服务:
    kubectl port-forward service/kong-admin 8001:8001
    
    访问http://localhost:8001/services和http://localhost:8001/routes,确认对应服务(指向nifi:30026)和路由(host为kong.example、path为/nifi-api)已存在

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:37:08