| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 部署服务</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/</link><description>Recent content in 部署服务 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/tasks/deploy/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 部署 Dubbo 应用到虚拟机环境</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-vm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-vm/</guid><description> |
| <h2 id="总体目标">总体目标</h2> |
| <ul> |
| <li>虚拟机环境</li> |
| <li>部署 Zookeeper</li> |
| <li>部署 Dubbo-admin + Zookeeper</li> |
| <li>部署 Provider + Zookeeper 与 Consumer + Zookeeper</li> |
| </ul> |
| <h2 id="基本流程与工作原理">基本流程与工作原理</h2> |
| <p><img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/linux.jpg" alt="img"></p> |
| <h2 id="详细步骤">详细步骤</h2> |
| <h3 id="zookeeper">zookeeper</h3> |
| <p>下载项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>wget https://dlcdn.apache.org/zookeeper/zookeeper-x.x.x/apache-zookeeper-x.x.x-bin.tar.gz |
| </span></span></code></pre></div><blockquote> |
| <p>apache-zookeeper-x.x.x.tar.gz 为未编译版本, 自 3.5.5 版本以后,已编译的 jar 包后缀 <code>-bin</code>,请使用 apache-zookeeper-x.x.x-bin.tar.gz</p> |
| </blockquote> |
| <p>解压项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>tar zxvf apache-zookeeper-x.x.x-bin.tar.gz -C /usr/local/ &amp;&amp; cd /usr/local |
| </span></span></code></pre></div><p>移动项目修改为 zookeeper 并切换至 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mv apache-zookeeper-x.x.x-bin zookeeper &amp;&amp; cd zookeeper |
| </span></span></code></pre></div><p>创建目录并切换此目录导入内容</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mkdir data &amp;&amp; cd data &amp;&amp; echo 1 &gt; myid |
| </span></span></code></pre></div><p>切换至 zookeeper 配置文件</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd .. &amp;&amp; cp conf/zoo_sample.cfg conf/zoo.cfg &amp;&amp; vim conf/zoo.cfg |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># zoo.cfg |
| </span></span><span style="display:flex;"><span>tickTime=2000 |
| </span></span><span style="display:flex;"><span>initLimit=10 |
| </span></span><span style="display:flex;"><span>syncLimit=5 |
| </span></span><span style="display:flex;"><span>dataDir=/usr/local/zookeeper/data |
| </span></span><span style="display:flex;"><span>clientPort=2181 |
| </span></span><span style="display:flex;"><span>admin.serverPort=2182 |
| </span></span></code></pre></div><p>启动 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>./bin/zkServer.sh start |
| </span></span></code></pre></div><p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-samples.git &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Reactor Summary: |
| </span></span><span style="display:flex;"><span>[INFO] |
| </span></span><span style="display:flex;"><span>[INFO] Dubbo Samples Spring Boot 1.0-SNAPSHOT ............. SUCCESS [ 0.178 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-interface ................ SUCCESS [ 2.169 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-provider ................. SUCCESS [12:37 min] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-consumer 1.0-SNAPSHOT .... SUCCESS [ 0.219 s] |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] BUILD SUCCESS |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Total time: 12:54 min |
| </span></span><span style="display:flex;"><span>[INFO] Finished at: 2023-01-16T01:17:09-05:00 |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span></code></pre></div><h3 id="dubbo-admin">dubbo-admin</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># 默认配置 |
| </span></span><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-admin.git &amp;&amp; cd dubbo-admin |
| </span></span><span style="display:flex;"><span># 修改配置 |
| </span></span><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-admin.git &amp;&amp; cd dubbo-admin &amp;&amp; vim dubbo-admin-server/src/main/resources/application.properties |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># dubbo-admin-server/src/main/resources/application.properties |
| </span></span><span style="display:flex;"><span>server.port=38080 |
| </span></span><span style="display:flex;"><span>dubbo.protocol.port=30880 |
| </span></span><span style="display:flex;"><span>dubbo.application.qos-port=32222 |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>admin.registry.address=zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span>admin.config-center=zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span>admin.metadata-report.address=zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>admin.root.user.name=root |
| </span></span><span style="display:flex;"><span>admin.root.user.password=root |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span>mvn clean <span style="color:#719e07">package</span> <span style="color:#719e07">-</span>Dmaven.test.skip=<span style="color:#cb4b16">true</span> |
| </span></span></code></pre></div><p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-admin/dubbo-admin-server/target |
| </span></span></code></pre></div><p>后台运行</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>nohup java -jar dubbo-admin-server-0.5.0-SNAPSHOT.jar &gt; /dev/null 2&gt;&amp;1 &amp; |
| </span></span></code></pre></div><p>进入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://&lt;IP&gt;:38080 |
| </span></span></code></pre></div><p>登录页面 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-login.jpg" alt="img"></p> |
| <p>服务查询 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-page.jpg" alt="img"></p> |
| <h3 id="dubbo">dubbo</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-samples.git &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Reactor Summary: |
| </span></span><span style="display:flex;"><span>[INFO] |
| </span></span><span style="display:flex;"><span>[INFO] Dubbo Samples Spring Boot 1.0-SNAPSHOT ............. SUCCESS [ 8.147 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-interface ................ SUCCESS [ 51.524 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-provider ................. SUCCESS [02:27 min] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-consumer 1.0-SNAPSHOT .... SUCCESS [ 0.284 s] |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] BUILD SUCCESS |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Total time: 03:49 min |
| </span></span><span style="display:flex;"><span>[INFO] Finished at: 2023-01-16T09:34:39-05:00 |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span></code></pre></div><h4 id="provider">Provider</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-provider/target |
| </span></span></code></pre></div><p>后台运行</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>nohup java -jar dubbo-samples-spring-boot-provider-1.0-SNAPSHOT.jar &gt; /dev/null 2&gt;&amp;1 &amp; |
| </span></span></code></pre></div><h4 id="consumer">Consumer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-consumer/target |
| </span></span></code></pre></div><p>后台运行</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>nohup java -jar dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar &gt; /dev/null 2&gt;&amp;1 &amp; |
| </span></span></code></pre></div><p>查看服务 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/consumer-provider.jpg" alt="img"></p></description></item><item><title>Overview: 部署 Dubbo 应用到 Docker 环境</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-docker/</guid><description> |
| <h2 id="总体目标">总体目标</h2> |
| <ul> |
| <li>部署 <a href="https://docs.docker.com/engine/install/">Docker</a></li> |
| <li>部署 Zookeeper</li> |
| <li>部署 Dubbo-admin + Zookeeper</li> |
| <li>部署 Producer + Zookeeper 与 Consumer + Zookeeper</li> |
| </ul> |
| <h2 id="基本流程与工作原理">基本流程与工作原理</h2> |
| <p><img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/docker.jpg" alt="img"></p> |
| <h2 id="详细步骤">详细步骤</h2> |
| <h3 id="zookeeper">zookeeper</h3> |
| <p>下载项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>wget https://dlcdn.apache.org/zookeeper/zookeeper-x.x.x/apache-zookeeper-x.x.x-bin.tar.gz |
| </span></span></code></pre></div><blockquote> |
| <p>apache-zookeeper-x.x.x.tar.gz 为未编译版本, 自 3.5.5 版本以后,已编译的 jar 包后缀 <code>-bin</code>,请使用 apache-zookeeper-x.x.x-bin.tar.gz</p> |
| </blockquote> |
| <p>解压项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>tar zxvf apache-zookeeper-x.x.x-bin.tar.gz -C /usr/local/ &amp;&amp; cd /usr/local |
| </span></span></code></pre></div><p>移动项目修改为 zookeeper 并切换至 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mv apache-zookeeper-x.x.x-bin zookeeper &amp;&amp; cd zookeeper |
| </span></span></code></pre></div><p>创建目录并切换此目录导入内容</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mkdir -p /usr/local/docker/zookeeper/data &amp;&amp; cd /usr/local/docker/zookeeper/data &amp;&amp; echo 1 &gt; myid |
| </span></span></code></pre></div><p>拉取 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker pull zookeeper |
| </span></span></code></pre></div><p>运行 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker run -p 2181:2181 -p 2888:2888 -p 3888:3888 -v /usr/local/docker/zookeeper/data:/data/ --name zookeeper --restart always -d zookeeper |
| </span></span></code></pre></div><p>测试 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker run -it --rm --link zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper |
| </span></span></code></pre></div><h3 id="dubbo-admin">dubbo-admin</h3> |
| <p>下载项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-admin.git &amp;&amp; cd dubbo-admin |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># dubbo-admin-server/src/main/resources/application.properties |
| </span></span><span style="display:flex;"><span>server.port=38080 |
| </span></span><span style="display:flex;"><span>dubbo.protocol.port=30880 |
| </span></span><span style="display:flex;"><span>dubbo.application.qos-port=32222 |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>admin.registry.address=zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span>admin.config-center=zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span>admin.metadata-report.address=zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span>admin.root.user.name=root |
| </span></span><span style="display:flex;"><span>admin.root.user.password=root |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker run -it --rm -v /the/host/path/containing/properties:/config -p 38080:38080 apache/dubbo-admin |
| </span></span></code></pre></div><blockquote> |
| <p>将 /the/host/path/containing/properties 替换为宿主机上包含 application.properties 文件的实际路径(必须是一个有效目录的绝对路径)。</p> |
| </blockquote> |
| <p>进入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://&lt;IP&gt;:38080 |
| </span></span></code></pre></div><p>登录页面 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-login.jpg" alt="img"></p> |
| <p>服务查询 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-page.jpg" alt="img"></p> |
| <h3 id="dubbo">dubbo</h3> |
| <p>下载项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-samples.git &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>修改 Provider 的 zookeeper 地址</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># dubbo-samples-spring-boot-provider/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-provider |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span></code></pre></div><p>修改 Consumer 的 zookeeper 地址</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># dubbo-samples-spring-boot-consumer/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-consumer |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://&lt;docker-zookeeper-ip&gt;:2181 |
| </span></span></code></pre></div><p>切换到服务示例</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Reactor Summary: |
| </span></span><span style="display:flex;"><span>[INFO] |
| </span></span><span style="display:flex;"><span>[INFO] Dubbo Samples Spring Boot 1.0-SNAPSHOT ............. SUCCESS [ 8.147 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-interface ................ SUCCESS [ 51.524 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-provider ................. SUCCESS [02:27 min] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-consumer 1.0-SNAPSHOT .... SUCCESS [ 0.284 s] |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] BUILD SUCCESS |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Total time: 03:49 min |
| </span></span><span style="display:flex;"><span>[INFO] Finished at: 2023-01-16T09:34:39-05:00 |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span></code></pre></div><h4 id="producer">Producer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-provider/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-provider-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker build --no-cache -t dubbo-springboot-provider:alpine . |
| </span></span></code></pre></div><p>运行服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker run --name provider -d dubbo-springboot-provider:alpine |
| </span></span></code></pre></div><h4 id="consumer">Consumer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-consumer/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker build --no-cache -t dubbo-springboot-consumer:alpine . |
| </span></span></code></pre></div><p>运行服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker run --name consumer -d dubbo-springboot-consumer:alpine |
| </span></span></code></pre></div><p>查看服务 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/consumer-provider.jpg" alt="img"></p></description></item><item><title>Overview: 部署 Dubbo 应用到 Kubernetes + Docker 环境</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-k8s-docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-k8s-docker/</guid><description> |
| <h2 id="总体目标">总体目标</h2> |
| <ul> |
| <li><a href="https://kubernetes.io/docs/setup/production-environment/tools/">Kubernetes</a></li> |
| <li>Zookeeper</li> |
| <li>Dubbo-admin + Zookeeper</li> |
| <li>Producer + Zookeeper 与 Consumer + Zookeeper</li> |
| </ul> |
| <h2 id="基本流程与工作原理">基本流程与工作原理</h2> |
| <p><img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-k8s-docker.jpg" alt="img"></p> |
| <h2 id="详细步骤">详细步骤</h2> |
| <p>创建命名空间</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create ns dubbo-demo |
| </span></span></code></pre></div><h3 id="zookeeper">zookeeper</h3> |
| <p>获取图表</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>helm repo add bitnami https://charts.bitnami.com/bitnami |
| </span></span></code></pre></div><p>安装 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>helm install zookeeper bitnami/zookeeper --set persistence.enabled=false -n dubbo-demo |
| </span></span></code></pre></div><p>查看 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl get pods -n dubbo-demo |
| </span></span></code></pre></div><h3 id="dubbo-admin">dubbo-admin</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-admin.git &amp;&amp; cd /dubbo-admin/deploy/k8s |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl apply -f ./ -n dubbo-demo |
| </span></span></code></pre></div><p>启动服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl --namespace dubbo-demo port-forward service/dubbo-admin 38080:38080 |
| </span></span></code></pre></div><p>登录页面 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-login.jpg" alt="img"></p> |
| <p>服务查询 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-page.jpg" alt="img"></p> |
| <h3 id="dubbo">dubbo</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-samples.git &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Reactor Summary: |
| </span></span><span style="display:flex;"><span>[INFO] |
| </span></span><span style="display:flex;"><span>[INFO] Dubbo Samples Spring Boot 1.0-SNAPSHOT ............. SUCCESS [ 8.147 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-interface ................ SUCCESS [ 51.524 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-provider ................. SUCCESS [02:27 min] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-consumer 1.0-SNAPSHOT .... SUCCESS [ 0.284 s] |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] BUILD SUCCESS |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Total time: 03:49 min |
| </span></span><span style="display:flex;"><span>[INFO] Finished at: 2023-01-16T09:34:39-05:00 |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>### dubbo-samples-spring-boot-provider/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-provider |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>### dubbo-samples-spring-boot-consumer/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-consumer |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span></code></pre></div><p>切换到服务示例</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><h4 id="producer">Producer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-provider/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-provider-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker build --no-cache -t dubbo-springboot-provider:alpine . |
| </span></span></code></pre></div><p>导入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; provider.yaml |
| </span></span><span style="display:flex;"><span>apiVersion: v1 |
| </span></span><span style="display:flex;"><span>kind: Pod |
| </span></span><span style="display:flex;"><span>metadata: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-provider |
| </span></span><span style="display:flex;"><span> namespace: dubbo-demo |
| </span></span><span style="display:flex;"><span>spec: |
| </span></span><span style="display:flex;"><span> containers: |
| </span></span><span style="display:flex;"><span> - name: provider |
| </span></span><span style="display:flex;"><span> image: dubbo-springboot-provider:alpine |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create -f provider.yaml |
| </span></span></code></pre></div><h4 id="consumer">Consumer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-consumer/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>docker build --no-cache -t dubbo-springboot-consumer:alpine . |
| </span></span></code></pre></div><p>导入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; consumer.yaml |
| </span></span><span style="display:flex;"><span>apiVersion: v1 |
| </span></span><span style="display:flex;"><span>kind: Pod |
| </span></span><span style="display:flex;"><span>metadata: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-consumer |
| </span></span><span style="display:flex;"><span> namespace: dubbo-demo |
| </span></span><span style="display:flex;"><span>spec: |
| </span></span><span style="display:flex;"><span> containers: |
| </span></span><span style="display:flex;"><span> - name: consumer |
| </span></span><span style="display:flex;"><span> image: dubbo-springboot-consumer:alpine |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create -f consumer.yaml |
| </span></span></code></pre></div><p>查看服务 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/consumer-provider.jpg" alt="img"></p></description></item><item><title>Overview: 部署 Dubbo 应用到 Kubernetes + Containerd 环境</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-k8s-containerd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/deploy/deploy-on-k8s-containerd/</guid><description> |
| <h2 id="总体目标">总体目标</h2> |
| <ul> |
| <li><a href="https://kubernetes.io/docs/setup/production-environment/tools/">Kubernetes</a></li> |
| <li>Zookeeper</li> |
| <li>Dubbo-admin + Zookeeper</li> |
| <li>Producer + Zookeeper 与 Consumer + Zookeeper</li> |
| </ul> |
| <h2 id="基本流程与工作原理">基本流程与工作原理</h2> |
| <p><img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-k8s-containerd.jpg" alt="img"></p> |
| <h2 id="详细步骤">详细步骤</h2> |
| <p>创建命名空间</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create ns dubbo-demo |
| </span></span></code></pre></div><h3 id="zookeeper">zookeeper</h3> |
| <p>获取图表</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>helm repo add bitnami https://charts.bitnami.com/bitnami |
| </span></span></code></pre></div><p>安装 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>helm install zookeeper bitnami/zookeeper --set persistence.enabled=false -n dubbo-demo |
| </span></span></code></pre></div><p>查看 zookeeper</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl get pods -n dubbo-demo |
| </span></span></code></pre></div><h3 id="dubbo-admin">dubbo-admin</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-admin.git &amp;&amp; cd /dubbo-admin/deploy/k8s |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>admin.registry.address=zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span>admin.config-center=zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span>admin.metadata-report.address=zookeeper://zookeeper:2181 |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl apply -f ./ -n dubbo-demo |
| </span></span></code></pre></div><p>启动服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl --namespace dubbo-demo port-forward service/dubbo-admin 38080:38080 |
| </span></span></code></pre></div><p>登录页面 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-login.jpg" alt="img"></p> |
| <p>服务查询 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/dubbo-admin-page.jpg" alt="img"></p> |
| <h3 id="dubbo">dubbo</h3> |
| <p>克隆项目到本地</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>git clone https://github.com/apache/dubbo-samples.git &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Reactor Summary: |
| </span></span><span style="display:flex;"><span>[INFO] |
| </span></span><span style="display:flex;"><span>[INFO] Dubbo Samples Spring Boot 1.0-SNAPSHOT ............. SUCCESS [ 8.147 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-interface ................ SUCCESS [ 51.524 s] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-provider ................. SUCCESS [02:27 min] |
| </span></span><span style="display:flex;"><span>[INFO] dubbo-samples-spring-boot-consumer 1.0-SNAPSHOT .... SUCCESS [ 0.284 s] |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] BUILD SUCCESS |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span><span style="display:flex;"><span>[INFO] Total time: 03:49 min |
| </span></span><span style="display:flex;"><span>[INFO] Finished at: 2023-01-16T09:34:39-05:00 |
| </span></span><span style="display:flex;"><span>[INFO] ------------------------------------------------------------------------ |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>### dubbo-samples-spring-boot-provider/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-provider |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span></code></pre></div><p>配置</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>### dubbo-samples-spring-boot-consumer/src/main/resources/application.yml |
| </span></span><span style="display:flex;"><span>dubbo: |
| </span></span><span style="display:flex;"><span> application: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-demo-consumer |
| </span></span><span style="display:flex;"><span> protocol: |
| </span></span><span style="display:flex;"><span> name: dubbo |
| </span></span><span style="display:flex;"><span> port: -1 |
| </span></span><span style="display:flex;"><span> registry: |
| </span></span><span style="display:flex;"><span> id: zk-registry |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> config-center: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span><span style="display:flex;"><span> metadata-report: |
| </span></span><span style="display:flex;"><span> address: zookeeper://zookeeper:2181 |
| </span></span></code></pre></div><p>切换到服务示例</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd &amp;&amp; cd dubbo-samples/1-basic/dubbo-samples-spring-boot |
| </span></span></code></pre></div><p>打包编译</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>mvn clean package |
| </span></span></code></pre></div><h4 id="producer">Producer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-provider/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-provider-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>nerdctl build --no-cache -t dubbo-springboot-provider:alpine -f Dockerfile . |
| </span></span></code></pre></div><p>导入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; provider.yaml |
| </span></span><span style="display:flex;"><span>apiVersion: v1 |
| </span></span><span style="display:flex;"><span>kind: Pod |
| </span></span><span style="display:flex;"><span>metadata: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-provider |
| </span></span><span style="display:flex;"><span> namespace: dubbo-demo |
| </span></span><span style="display:flex;"><span>spec: |
| </span></span><span style="display:flex;"><span> containers: |
| </span></span><span style="display:flex;"><span> - name: provider |
| </span></span><span style="display:flex;"><span> image: dubbo-springboot-provider:alpine |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create -f provider.yaml |
| </span></span></code></pre></div><h4 id="consumer">Consumer</h4> |
| <p>切换至目标服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cd dubbo-samples-spring-boot-consumer/target |
| </span></span></code></pre></div><p>构建镜像</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; Dockerfile |
| </span></span><span style="display:flex;"><span>FROM openjdk:8-jdk-alpine |
| </span></span><span style="display:flex;"><span>ADD dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar /app.jar |
| </span></span><span style="display:flex;"><span>ENTRYPOINT [&#34;java&#34;, &#34;-Djava.security.egd=file:/dev/urandom&#34;, &#34;-jar&#34;, &#34;/app.jar&#34;] |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>编译服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>nerdctl build --no-cache -t dubbo-springboot-consumer:alpine -f Dockerfile . |
| </span></span></code></pre></div><p>导入服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cat &lt;&lt;EOF &gt; consumer.yaml |
| </span></span><span style="display:flex;"><span>apiVersion: v1 |
| </span></span><span style="display:flex;"><span>kind: Pod |
| </span></span><span style="display:flex;"><span>metadata: |
| </span></span><span style="display:flex;"><span> name: dubbo-springboot-consumer |
| </span></span><span style="display:flex;"><span> namespace: dubbo-demo |
| </span></span><span style="display:flex;"><span>spec: |
| </span></span><span style="display:flex;"><span> containers: |
| </span></span><span style="display:flex;"><span> - name: consumer |
| </span></span><span style="display:flex;"><span> image: dubbo-springboot-consumer:alpine |
| </span></span><span style="display:flex;"><span>EOF |
| </span></span></code></pre></div><p>创建服务</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>kubectl create -f consumer.yaml |
| </span></span></code></pre></div><p>查看服务 |
| <img src="https://dubbo.apache.org/imgs/v3/tasks/deploy/consumer-provider.jpg" alt="img"></p></description></item></channel></rss> |