我设法使功能区使用kubeflixspring-cloud-kubernetes动态发现k8s集群中的实例

这是当我手动使用Ribbon在我的微服务之间进行通信时。
Zuul自动将Ribbon用于其配置中定义的路由。

是否有人设法为Ribbon启用Zuul发现?我想我需要为每个路由覆盖LoadBalancer的实例。任何想法如何做到这一点?

最佳答案

这实际上很容易。您只需要在NIWSServerListClassName配置中指定k8sRibbon命名空间和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

09-27 01:31