Loading
close

第三方注册中心Zookeeper、Nacos生成ServiceEntry资源后,仍然不能访问

time 更新时间:2024-02-05 14:41:14

描述

使用RegistryHub资源,注册了基于dubbo协议的第三方注册中心Zookeeper、Nacos,也生成ServiceEntry资源,但是客户端仍然无法访问,比如生成的ServiceEntry如下:

kubectl -ndefault get serviceentry
NAME                                                                HOSTS                                                            LOCATION        RESOLUTION   AGE
aeraki-org-apache-dubbo-samples-api-greetingservice-1-0-0-default   ["org.apache.dubbo.samples.api.greetingservice-1.0.0.default"]   MESH_INTERNAL   STATIC       32s

解决办法

使用基于dubbo协议的第三方注册中心Zookeeper、Nacos,因istio官方不知道dubbo协议,我们服务网格产品还会在servicemesh命名空间生成envoyfilter,来将下方的协议替换为envoy支持的dubbo协议,可通过以下命令查看是否生成对于的envoyfilter

kubectl -nservicemesh get envoyfilter

对于上面的serviceentry aeraki-org-apache-dubbo-samples-api-greetingservice-1-0-0-default会生成以下两条记录:

aeraki-outbound-org.apache.dubbo.samples.api.greetingservice-1.0.0.default-240.240.0.1-20880   3m53s
aeraki-inbound-org.apache.dubbo.samples.api.greetingservice-1.0.0.default-20880                3m53s

如果查看没有生成对于的envoyfilter,可重启服务网格中的dubbo-controller服务,稍后查看是否解决。

kubectl -nservicemesh rollout restart deployment/dubbo-controller
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品