Open AYue-94 opened 1 year ago
我大概看了一下,主要有两个地方可能有问题。 1)org.apache.dubbo.registry.xds.util.protocol.impl.RdsProtocol 解析的时候没有解析weightcluster。 但是却提供了xdsrouter相关功能,但是实际上底层invokers并不会存在。 2)org.apache.dubbo.rpc.cluster.router.xds.XdsRouter#computeSubset 这里在路由的时候,构造bitlist应该有问题,是不是应该这样做?
除了上面两个问题以外,我想问一下proxyless模式现在是不是非生产可用?
@aamingaa PTAL
怎么直接apply virtual.yml了,前面还有好几步呢,参考下下面的命令 mvn clean package -DskipTests -U cd ./dubbo-samples-xds-provider/ docker build -t aamingaa/dubbo-demo:dubbo-samples-xds-provider_0.0.1 . cd ../dubbo-samples-xds-consumer/ docker build -t aamingaa/dubbo-demo:dubbo-samples-xds-consumer_0.0.1 . cd ../ kubectl apply -f ./deploy/Namespace.yml kubens dubbo-demo cd ./dubbo-samples-xds-provider/src/main/resources/k8s kubectl apply -f Deployment.yml kubectl apply -f Deployment-2.yml kubectl apply -f Service.yml kubectl apply -f Virtual-Service.yml cd ../../../../../dubbo-samples-xds-consumer/src/main/resources/k8s kubectl apply -f Deployment.yml kubectl apply -f Service.yml
怎么直接apply virtual.yml了,前面还有好几步呢,参考下下面的命令 mvn clean package -DskipTests -U cd ./dubbo-samples-xds-provider/ docker build -t aamingaa/dubbo-demo:dubbo-samples-xds-provider_0.0.1 . cd ../dubbo-samples-xds-consumer/ docker build -t aamingaa/dubbo-demo:dubbo-samples-xds-consumer_0.0.1 . cd ../ kubectl apply -f ./deploy/Namespace.yml kubens dubbo-demo cd ./dubbo-samples-xds-provider/src/main/resources/k8s kubectl apply -f Deployment.yml kubectl apply -f Deployment-2.yml kubectl apply -f Service.yml kubectl apply -f Virtual-Service.yml cd ../../../../../dubbo-samples-xds-consumer/src/main/resources/k8s kubectl apply -f Deployment.yml kubectl apply -f Service.yml
1)我省略了前面Deployment和Service的部署,这几步肯定要做的。 2)dubbo-samples-xds并没有提供virtualService.yaml,所以我把sample项目部署、打标、VirtualService资源的定义分开描述了。 3)sidecar模式确实没问题,问题是proxyless模式
这有一份proxyless下模式的virtualService.yml的配置文件,你对照着试一下?https://github.com/apache/dubbo-samples/compare/master...aamingaa:dubbo-samples:test/xds_debug_3.2.0-beta.7-SNAPSHOT
这有一份proxyless下模式的virtualService.yml的配置文件,你对照着试一下?apache/dubbo-samples@master...aamingaa:dubbo-samples:test/xds_debug_3.2.0-beta.7-SNAPSHOT
@aamingaa
这个我也试了,不行。因为sidecar模式和proxyless模式,除了application.properties中几个配置项不一样以外。其他部署上是没有区别的(除了namespace不打标注入istioproxy以外),所以sidecar能通,proxyless我这边也不会部署有什么问题。
如果我没理解错的话,运行时通过PilotExchanger.getInstance().getEndpoints("dubbo-samples-xds-provider")应该能获取到provider的所有Endpoint,包括v1的和v2的,但是现在也获取不到。
这周也遇到了同样的异常ProxyLess模式,
Environment
Steps to reproduce this issue
1)use dubbo-samples/3-extensions/registry/dubbo-samples-xds 2)kubectl label pods -n dubbo-demo {podName1} version=v1 && kubectl label pods -n dubbo-demo {podName2} version=v2 3)kubectl apply -f VirtualService.yaml
Expected Behavior
consumer can find 2 invokers.
Actual Behavior
no invokers found.