【问题标题】:Using Ribbon-Kubernetes discovery with Zuul将 Ribbon-Kubernetes 发现与 Zuul 一起使用
【发布时间】:2016-11-22 05:00:49
【问题描述】:
我设法让功能区使用kubeflix 和spring-cloud-kubernetes 动态发现k8s 集群中的实例
这是我手动使用Ribbon 在我的微服务之间进行通信的时候。
Zuul 自动将Ribbon 用于其配置中定义的路由。
有人设法为Zuul 启用Ribbon 发现吗?我想我需要为每个路由覆盖 LoadBalancer 的实例。任何想法如何做到这一点?
【问题讨论】:
标签:
spring
spring-boot
kubernetes
spring-cloud
netflix-zuul
【解决方案1】:
这实际上很容易。只需在Ribbon配置中指定NIWSServerListClassName、k8s命名空间和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