blob: 54b2bf821656d720f12ffcaf4c3e7469f47c1c1e [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – Mesh手册</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/mesh/</link><description>Recent content in Mesh手册 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/mesh/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: Debug参考文档</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/mesh/mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/mesh/mesh/</guid><description>
&lt;h2 id="前置环境准备">前置环境准备&lt;/h2>
&lt;ul>
&lt;li>docker环境&lt;/li>
&lt;li>kubernetes环境(推荐docker desktop,图形化界面,还内嵌了一个小型的Kubernetes环境,后文演示也是基于docker desktop)&lt;/li>
&lt;li>istio环境&lt;/li>
&lt;li>dubbo-samples代码,master分支即可&lt;/li>
&lt;li>dubbo 版本 &amp;gt;= 3.1.0
搭建 Kubernetes 环境
目前 Dubbo 仅支持在 Kubernetes 环境下的 Mesh 部署,所以在运行启动本示例前需要先搭Kubernetes 环境。(建议采用docker desktop进行搭建,直接就可以运行一个kubernetes环境)
&lt;a href="https://docs.docker.com/desktop/install/mac-install/">https://docs.docker.com/desktop/install/mac-install/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="搭建-kubernetes-环境">搭建 Kubernetes 环境&lt;/h2>
&lt;p>目前 Dubbo 仅支持在 Kubernetes 环境下的 Mesh 部署,所以在运行启动本示例前需要先搭Kubernetes 环境。(建议采用docker desktop进行搭建,直接就可以运行一个kubernetes环境)
&lt;a href="https://docs.docker.com/desktop/install/mac-install/">https://docs.docker.com/desktop/install/mac-install/&lt;/a>&lt;/p>
&lt;h2 id="搭建-istio-环境">搭建 Istio 环境&lt;/h2>
&lt;p>搭建 Istio 环境参考文档:
Istio 安装文档(&lt;a href="https://istio.io/latest/docs/setup/getting-started/">https://istio.io/latest/docs/setup/getting-started/&lt;/a>)
注:安装 Istio 的时候需要开启 first-party-jwt 支持(使用 istioctl 工具安装的时候加上 &amp;ndash;set values.global.jwtPolicy=first-party-jwt 参数),否则将导致客户端认证失败的问题。
附安装命令参考:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>curl &lt;span style="color:#719e07">-&lt;/span>L https&lt;span style="color:#719e07">:&lt;/span>&lt;span style="color:#586e75">//istio.io/downloadIstio | sh -
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span>cd istio&lt;span style="color:#719e07">-&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>xx&lt;span style="color:#719e07">.&lt;/span>x
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>export PATH&lt;span style="color:#719e07">=&lt;/span>$PWD&lt;span style="color:#719e07">/&lt;/span>bin&lt;span style="color:#719e07">:&lt;/span>$PATH
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>istioctl install &lt;span style="color:#719e07">--&lt;/span>set profile&lt;span style="color:#719e07">=&lt;/span>demo &lt;span style="color:#719e07">--&lt;/span>set values&lt;span style="color:#719e07">.&lt;/span>global&lt;span style="color:#719e07">.&lt;/span>jwtPolicy&lt;span style="color:#719e07">=&lt;/span>first&lt;span style="color:#719e07">-&lt;/span>party&lt;span style="color:#719e07">-&lt;/span>jwt &lt;span style="color:#719e07">-&lt;/span>y
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="构建dubbo和dubbo-samples环境">构建dubbo和dubbo-samples环境&lt;/h2>
&lt;p>进入dubbo-dependencies-bom,更改grpc版本为1.41.0&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">&amp;lt;&lt;/span>grpc&lt;span style="color:#719e07">.&lt;/span>version&lt;span style="color:#719e07">&amp;gt;&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>41&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">&amp;lt;/&lt;/span>grpc&lt;span style="color:#719e07">.&lt;/span>version&lt;span style="color:#719e07">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>进入dubbo-samples-xds目录,新增配置:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>dubbo&lt;span style="color:#719e07">.&lt;/span>application&lt;span style="color:#719e07">.&lt;/span>metadataServiceProtocol&lt;span style="color:#719e07">=&lt;/span>dubbo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>打包dubbo代码,切换到dubbo根目录,执行以下命令进行打包:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>mvn clean &lt;span style="color:#719e07">package&lt;/span> -DskipTests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>切换到dubbo-samples代码,在dubbo-samples-xds的pom文件中引入刚打包好的dubbo代码。
接下来修改debug模式,以dubbo-xds-consumer为例:
更改dubbo-samples-consumer的docker file并更改调试模式为suspend=y, 更改后的docker file文件如下:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>FROM openjdk&lt;span style="color:#719e07">:&lt;/span>8&lt;span style="color:#719e07">-&lt;/span>jdk
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ADD &lt;span style="color:#719e07">./&lt;/span>target&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">.&lt;/span>jar dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">.&lt;/span>jar
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>EXPOSE 31000
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>CMD java &lt;span style="color:#719e07">-&lt;/span>jar &lt;span style="color:#719e07">-&lt;/span>agentlib&lt;span style="color:#719e07">:&lt;/span>jdwp&lt;span style="color:#719e07">=&lt;/span>transport&lt;span style="color:#719e07">=&lt;/span>dt_socket&lt;span style="color:#719e07">,&lt;/span>server&lt;span style="color:#719e07">=&lt;/span>y&lt;span style="color:#719e07">,&lt;/span>suspend&lt;span style="color:#719e07">=&lt;/span>y&lt;span style="color:#719e07">,&lt;/span>address&lt;span style="color:#719e07">=&lt;/span>31000 &lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">.&lt;/span>jar
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>随后执行以下命令进行打包:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mvn clean &lt;span style="color:#719e07">package&lt;/span> -DskipTests
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="构建docker镜像">构建docker镜像&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">./&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>Dockerfile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>docker build &lt;span style="color:#719e07">-&lt;/span>t apache&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>demo&lt;span style="color:#719e07">:&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider_0&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">.&lt;/span>1 &lt;span style="color:#719e07">.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">../&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>Dockerfile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>docker build &lt;span style="color:#719e07">-&lt;/span>t apache&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>demo&lt;span style="color:#719e07">:&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer_0&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">.&lt;/span>1 &lt;span style="color:#719e07">.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">../&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="创建k8s-namespace">创建K8s namespace&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span># 初始化命名空间
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f https&lt;span style="color:#719e07">:&lt;/span>&lt;span style="color:#586e75">//raw.githubusercontent.com/apache/dubbo-samples/master/dubbo-samples-xds/deploy/Namespace.yml
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># 切换命名空间
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubens dubbo&lt;span style="color:#719e07">-&lt;/span>demo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果kubens切换不成功,安装下kubectl即可&lt;/p>
&lt;h2 id="部署容器">部署容器&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">./&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Deployment&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Service&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Deployment&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Service&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">../../../../../&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">/&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">/&lt;/span>src&lt;span style="color:#719e07">/&lt;/span>main&lt;span style="color:#719e07">/&lt;/span>resources&lt;span style="color:#719e07">/&lt;/span>k8s&lt;span style="color:#719e07">/&lt;/span>Deployment&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl apply &lt;span style="color:#719e07">-&lt;/span>f Deployment&lt;span style="color:#719e07">.&lt;/span>yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cd &lt;span style="color:#719e07">../../../../../&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>成功执行上述命令后的docker desktop containers页面长这样,其中dubbo-samples一共出现数个containers,包含consumer和provider:&lt;/p>
&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/docker-desktop.png" alt="docker-desktop.png">&lt;/p>
&lt;p>查看k8s_server_dubbo-samples-xds-provider-XXX日志,出现如下日志:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>Dec 28&lt;span style="color:#719e07">,&lt;/span> 2022 8&lt;span style="color:#719e07">:&lt;/span>42&lt;span style="color:#719e07">:&lt;/span>48 AM org&lt;span style="color:#719e07">.&lt;/span>apache&lt;span style="color:#719e07">.&lt;/span>dubbo&lt;span style="color:#719e07">.&lt;/span>config&lt;span style="color:#719e07">.&lt;/span>deploy&lt;span style="color:#719e07">.&lt;/span>DefaultApplicationDeployer info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> Dubbo Application&lt;span style="color:#719e07">[&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>1&lt;span style="color:#719e07">](&lt;/span>dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>provider&lt;span style="color:#719e07">)&lt;/span> is ready&lt;span style="color:#719e07">.,&lt;/span> dubbo version&lt;span style="color:#719e07">:&lt;/span> 1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">,&lt;/span> current host&lt;span style="color:#719e07">:&lt;/span> 10&lt;span style="color:#719e07">.&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>5&lt;span style="color:#719e07">.&lt;/span>64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Dec 28&lt;span style="color:#719e07">,&lt;/span> 2022 8&lt;span style="color:#719e07">:&lt;/span>42&lt;span style="color:#719e07">:&lt;/span>49 AM org&lt;span style="color:#719e07">.&lt;/span>apache&lt;span style="color:#719e07">.&lt;/span>dubbo&lt;span style="color:#719e07">.&lt;/span>registry&lt;span style="color:#719e07">.&lt;/span>xds&lt;span style="color:#719e07">.&lt;/span>util&lt;span style="color:#719e07">.&lt;/span>protocol&lt;span style="color:#719e07">.&lt;/span>AbstractProtocol info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> receive notification from xds server&lt;span style="color:#719e07">,&lt;/span> type&lt;span style="color:#719e07">:&lt;/span> type&lt;span style="color:#719e07">.&lt;/span>googleapis&lt;span style="color:#719e07">.&lt;/span>com&lt;span style="color:#719e07">/&lt;/span>envoy&lt;span style="color:#719e07">.&lt;/span>config&lt;span style="color:#719e07">.&lt;/span>listener&lt;span style="color:#719e07">.&lt;/span>v3&lt;span style="color:#719e07">.&lt;/span>Listener&lt;span style="color:#719e07">,&lt;/span> dubbo version&lt;span style="color:#719e07">:&lt;/span> 1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">,&lt;/span> current host&lt;span style="color:#719e07">:&lt;/span> 10&lt;span style="color:#719e07">.&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>5&lt;span style="color:#719e07">.&lt;/span>64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Dec 28&lt;span style="color:#719e07">,&lt;/span> 2022 8&lt;span style="color:#719e07">:&lt;/span>42&lt;span style="color:#719e07">:&lt;/span>53 AM org&lt;span style="color:#719e07">.&lt;/span>apache&lt;span style="color:#719e07">.&lt;/span>dubbo&lt;span style="color:#719e07">.&lt;/span>registry&lt;span style="color:#719e07">.&lt;/span>xds&lt;span style="color:#719e07">.&lt;/span>util&lt;span style="color:#719e07">.&lt;/span>protocol&lt;span style="color:#719e07">.&lt;/span>AbstractProtocol info
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO: &lt;span style="color:#719e07">[&lt;/span>DUBBO&lt;span style="color:#719e07">]&lt;/span> receive notification from xds server&lt;span style="color:#719e07">,&lt;/span> type&lt;span style="color:#719e07">:&lt;/span> type&lt;span style="color:#719e07">.&lt;/span>googleapis&lt;span style="color:#719e07">.&lt;/span>com&lt;span style="color:#719e07">/&lt;/span>envoy&lt;span style="color:#719e07">.&lt;/span>config&lt;span style="color:#719e07">.&lt;/span>listener&lt;span style="color:#719e07">.&lt;/span>v3&lt;span style="color:#719e07">.&lt;/span>Listener&lt;span style="color:#719e07">,&lt;/span> dubbo version&lt;span style="color:#719e07">:&lt;/span> 1&lt;span style="color:#719e07">.&lt;/span>0&lt;span style="color:#719e07">-&lt;/span>SNAPSHOT&lt;span style="color:#719e07">,&lt;/span> current host&lt;span style="color:#719e07">:&lt;/span> 10&lt;span style="color:#719e07">.&lt;/span>1&lt;span style="color:#719e07">.&lt;/span>5&lt;span style="color:#719e07">.&lt;/span>64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo service started
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/xds-provider-log.png" alt="xds-provider-log.png">&lt;/p>
&lt;p>查看k8s_server_dubbo-samples-xds-consumer-XXX日志,发现其正等待debug连接:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-consumer-listener.png" alt="xds-consumer-listener.png">
打开命令终端,输入命令查看可用并处于Running状态的pods:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>kubectl get pods
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/k8s-pods.png" alt="k8s-pods.png">&lt;/p>
&lt;p>输入以下命令将pods的端口映射到本地:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>kubectl port&lt;span style="color:#719e07">-&lt;/span>forward dubbo&lt;span style="color:#719e07">-&lt;/span>samples&lt;span style="color:#719e07">-&lt;/span>xds&lt;span style="color:#719e07">-&lt;/span>consumer&lt;span style="color:#719e07">-&lt;/span>64c6c6f444&lt;span style="color:#719e07">-&lt;/span>kk2vr 31000&lt;span style="color:#719e07">:&lt;/span>31000
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://dubbo.apache.org/imgs/user/port-forward.png" alt="port-forward.png">&lt;/p>
&lt;p>切换到idea,edit configuration,debugger mode选择attach to remote JVM,port选择上面docker file expose的端口,module classpath选择dubbo-samples-xds-consumer,并点击debug,即可成功连接
&lt;img src="https://dubbo.apache.org/imgs/user/remote-debug.png" alt="remote-debug.png">&lt;/p>
&lt;p>可以看到断点已经成功进来了:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-debug-success.png" alt="xds-debug-success.png">
此时查看k8s_server_dubbo-samples-xds-consumer-XXX的日志可以看到已经成功在运行:
&lt;img src="https://dubbo.apache.org/imgs/user/xds-consumer-debug-success-log.png" alt="xds-consumer-debug-success-log.png">&lt;/p></description></item></channel></rss>