dubbo-admin icon indicating copy to clipboard operation
dubbo-admin copied to clipboard

Dubbo Admin云原生适配

Open chickenlj opened this issue 2 years ago • 2 comments

Dubbo提供了和k8s结合的几种用法,但是并未在Dubbo Admin中进行适配,需要根据具体的场景来进行适配,保证Dubbo Admin在云原生场景下能够继续发挥服务查询,流量管控等作用。

应用级别注册的服务查询

此功能详见文档介绍。该功能和云原生没有直接关系,但是在Dubbo Admin用go语言重构的时候,没有实现,本次需要将Java版本中该功能迁移过来。

Dubbo 服务直接在k8s中进行发布

参考示例:https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry/dubbo-samples-kubernetes。

该示例使用K8s作为Dubbo的注册中心,Provider和Consumer直接和API Server交互。

image

Dubbo Admin的对应功能如下:

  • 服务查询: Dubbo Admin直接和api server交互,需要具备相应的权限
  • 负载均衡设置:将k8s的注册中心作为配置中心使用,通过 api server在服务对应的name space下进行配置写入
  • 服务测试: Dubbo Admin作为泛化客户端,从api server拿到对应服务的地址进行测试,与传统的方式区别不大。

Side Car模式

参考示例:https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry/dubbo-samples-mesh-k8s

  • Istio本身就有比较丰富的流量治理功能,参考上述demo中的 示例
  • Dubbo Admin的功能可以参考 kiali

image

  • 服务查询:这里的Cluster API就是k8s的Api Server,跟上面一种模式相同,在side car模式下,Dubbo Admin需要直接和api server进行交互来进行服务查询
  • 流量管控:借助Istio的VirtualService、DestinationRule 等功能,Dubbo Admin可以对路由规则进行查看,编辑管理。
  • 服务测试:?

XDS模式

参考:https://github.com/apache/dubbo-samples/tree/master/3-extensions/registry/dubbo-samples-xds

chickenlj avatar May 24 '23 02:05 chickenlj

assign

Phixsura avatar May 24 '23 07:05 Phixsura

  1. 对于服务查询来说,不管有没有side car,Dubbo Admin都直接跟API SERVER交互(存在side car的情况可能参考kiali)
  2. 对于流量管控来说,没有side car的情况下,依赖于Dubbo目前在k8s下的路由规则适配,Dubbo Admin作为客户端,通过api server与注册中心(k8s)进行交互;有side car的情况下,参考kiali的功能,借助Istio的VirtualService等进行流量管控

nzomkxia avatar May 24 '23 14:05 nzomkxia