与Zuul一起使用Ribbon Kubernetes发现



我设法让ribbon使用kubeflix和spring-cloud kubernetes 动态发现k8s集群中的实例

这是我手动使用Ribbon在微服务之间进行通信的时候。

Zuul自动将Ribbon用于其配置中定义的路由。

是否有人设法为Zuul启用了Ribbon发现?我想我需要为每条路由覆盖LoadBalancer的实例。有什么办法吗?

这其实很容易。您只需要在Ribbon配置中指定NIWSServerListClassNamek8s命名空间和k8s端口名:

service-name:
    ribbon:
        NIWSServerListClassName: io.fabric8.kubeflix.ribbon.KubernetesServerList
        KubernetesNamespace: uat
        PortName: tcp80 #make sure you this matches the port name in the k8s service (kubectl describe svc service-name)

然后Zuul路由可以参考服务:

zuul:
    routes:
        rm-data-store:
            path: /foo/**
            retryable: true
            service-id: service-name

最新更新