我是使用 Zuul 的初学者。我想为 kubernetes 的动态目标(IP 地址)创建一个 http 代理。我检查了可以在没有 Eureka / Ribbon 的情况下使用 Zuul Edge Server,这很有帮助,但我不想指定服务器列表。
我现在拥有的是一个 simpleRouteFilter,它基于 spring-boot 扩展了 ZuulFilter。在过滤器中,它将根据我从 kubernetes 获得的内容更改目标 IP 地址。我还使用ribbon.eureka.enabled=false 关闭了eureka 的东西。
问题是它在本地环境中看起来不错,但是在我将项目部署到 kubernetes 后,它会显示负载均衡器没有可用的客户端服务器:sample-all-services,但它确实有效。我之所以放一个sample-all-service(服务id)是因为当我在属性中删除zuul config时,zuul函数不能正常工作。而且我知道我没有为该 ID 放置任何服务器,因为它是动态的。
问题:(1)Zuul 适合我的场景吗?(2) 如果是,如何调整 Zuul 配置以接受所有 http 请求而不显示负载均衡器不可用警告。(3) 这与 Kubernetes 有关吗?
The yaml file is:
zuul:
routes:
sample-all-services:
path: /**
server:
port: 8080
ribbon:
eureka:
enabled: false
sample-all-services:
ribbon:
ReadTimeout: 15000
谢谢。