This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new a13b4265 optimize kubernetes demo (#494)
a13b4265 is described below

commit a13b4265381d791089f7120110b7d7edf03c7a0d
Author: ken.lj <[email protected]>
AuthorDate: Wed Aug 10 17:15:11 2022 +0800

    optimize kubernetes demo (#494)
---
 dubbo-samples-kubernetes/README.md                 | 89 ++++++++--------------
 .../dubbo-samples-apiserver-consumer/pom.xml       | 57 +++++---------
 .../src/main/resources/k8s/Deployment.yml          |  1 +
 .../dubbo-samples-apiserver-provider/pom.xml       | 32 ++++----
 .../src/main/resources/k8s/Deployment.yml          |  1 +
 5 files changed, 69 insertions(+), 111 deletions(-)

diff --git a/dubbo-samples-kubernetes/README.md 
b/dubbo-samples-kubernetes/README.md
index 007aaa69..d75b4bc4 100644
--- a/dubbo-samples-kubernetes/README.md
+++ b/dubbo-samples-kubernetes/README.md
@@ -1,6 +1,6 @@
 # Dubbo using Kubernetes as registry
 
-可以按照下文步骤,将 Demo 部署到本地集群,也可在 [KataCoda 在线快速体验]()。
+可以按照下文步骤,将 Demo 部署到本地集群。
 
 ## 1 总体目标
 
@@ -54,51 +54,9 @@ kubectl apply -f 
https://raw.githubusercontent.com/apache/dubbo-samples/master/d
 kubens dubbo-demo
 ```
 
-### 3.3 项目与镜像打包(可跳过)
+### 3.3 部署到 Kubernetes
 
-示例项目及相关镜像均已就绪,以下仅为指引说明,可直接跳过此步骤直接查看 3.4 小节。  
-https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-kubernetes/
-
-注意,由于 kubernetes 为独立扩展项目,开启 Kubernetes 支持前请添加如下依赖到 pom.xml
-
-```xml
-<dependency>
-    <groupId>org.apache.dubbo.extensions</groupId>
-    <artifactId>dubbo-registry-kubernetes</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
-</dependency>
-```
-
-设置 Dubbo 项目使用 Kubernetes 作为注册中心,这里通过 DEFAULT_MASTER_HOST指定使用默认 API-SERVER 集群地址 
kubernetes.default.srv,同时还指定了
-namespace、trustCerts 两个参数
-
-```properties
-dubbo.application.name=dubbo-samples-apiserver-provider
-dubbo.application.metadataServicePort=20885
-dubbo.registry.address=kubernetes://DEFAULT_MASTER_HOST?registry-type=service&duplicate=false&namespace=dubbo-demo&trustCerts=true
-dubbo.protocol.name=dubbo
-dubbo.protocol.port=20880
-dubbo.application.qosEnable=true
-dubbo.application.qosAcceptForeignIp=true
-dubbo.provider.token=true
-```
-
-如果要在本地打包镜像,可通过 spring-boot-maven-plugin 插件打包镜像(也可以直接使用示例提供好的镜像包)
-
-```shell
-# 打包镜像
-mvn spring-boot:build-image
-
-# 重命名镜像
-docker tag docker.io/dubboteam/dubbo-samples-apiserver-provider:latest 
your-image-space/dubbo-samples-apiserver-provider
-
-# 推到镜像仓库
-docker push your-image-space/dubbo-samples-apiserver-provider
-```
-
-### 3.4 部署到 Kubernetes
-
-#### 3.4.1 部署 Provider
+#### 3.3.1 部署 Provider
 
 ```shell
 # 部署 Service
@@ -121,7 +79,7 @@ kubectl get pods -l app=dubbo-samples-apiserver-provider
 kubectl logs your-pod-id
 ```
 
-#### 3.4.2 部署 Consumer
+#### 3.3.2 部署 Consumer
 
 ```shell
 # 部署 Service
@@ -150,12 +108,34 @@ kubectl logs your-pod-id
         result:hello,Kubernetes Api Server
 ```
 
-### 3.5 检查 Consumer 正常消费服务
+### 3.4 修改项目并打包(可跳过)
 
-TBD
-> * 改造 consumer 支持 spring-web
-> * Consumer service 暴露对外地址与端口 
-> * 访问 http 地址验证行为
+示例项目及相关镜像均已就绪,此小节仅面向需要修改示例并查看部署效果的用户。
+https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-kubernetes/
+
+设置 Dubbo 项目使用 Kubernetes 作为注册中心,这里通过 DEFAULT_MASTER_HOST指定使用默认 API-SERVER 集群地址 
kubernetes.default.srv,同时还指定了
+namespace、trustCerts 两个参数
+
+```properties
+dubbo.application.name=dubbo-samples-apiserver-provider
+dubbo.application.metadataServicePort=20885
+dubbo.registry.address=kubernetes://DEFAULT_MASTER_HOST?registry-type=service&duplicate=false&namespace=dubbo-demo&trustCerts=true
+dubbo.protocol.name=dubbo
+dubbo.protocol.port=20880
+dubbo.application.qosEnable=true
+dubbo.application.qosAcceptForeignIp=true
+dubbo.provider.token=true
+```
+
+如果要在本地打包镜像,可通过 jib-maven-plugin 插件打包镜像
+
+```shell
+# 打包并推送镜像
+mvn compile jib:build
+```
+
+> Jib 插件会自动打包并发布镜像。注意,本地开发需将 jib 插件配置中的 docker registry 组织 dubboteam 
改为自己有权限的组织(包括其他 kubernetes manifests 中的 dubboteam 也要修改,以确保 kubernetes 
部署的是自己定制后的镜像),如遇到 jib 
插件认证问题,请参考[相应链接](https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#what-should-i-do-when-the-registry-responds-with-unauthorized)配置
 docker registry 认证信息。
+> 可以通过直接在命令行指定 `mvn compile jib:build -Djib.to.auth.username=x 
-Djib.to.auth.password=x -Djib.from.auth.username=x 
-Djib.from.auth.username=x`,或者使用 docker-credential-helper.
 
 ## 4 最佳实践
 
@@ -163,12 +143,9 @@ TBD
 
 * rediness probe
 * liveness probe
+* ci/cd 接入 Skalfold
 
-## 5 CI/CD
-
-* 接入 Skalfold
-
-## 6 附录 k8s manifests
+## 5 附录 k8s manifests
 
 ServiceAccount.yml
 
diff --git a/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
index aeda4a92..932d825a 100644
--- a/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
+++ b/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.0.7</dubbo.version>
+        <dubbo.version>3.1.0-SNAPSHOT</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -62,12 +62,6 @@
             <artifactId>dubbo</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-registry-kubernetes</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -116,42 +110,25 @@
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.6.4</version>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
                 <configuration>
-                    
<mainClass>org.apache.dubbo.samples.ConsumerBootstrap</mainClass>
-                    <image>
-                        <name>dubboteam/${project.artifactId}</name>
-                        <!--                        
<pullPolicy>IF_NOT_PRESENT</pullPolicy>-->
-                    </image>
+                    <to>
+                        
<image>dubboteam/dubbo-samples-apiserver-consumer</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            
<jvmFlag>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=31000</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>50052</port>
+                            <port>31000</port>
+                            <port>22222</port>
+                        </ports>
+                    </container>
                 </configuration>
             </plugin>
-            <!--            <plugin>-->
-            <!--                <groupId>org.apache.maven.plugins</groupId>-->
-            <!--                <artifactId>maven-shade-plugin</artifactId>-->
-            <!--                <version>2.4.1</version>-->
-            <!--                <executions>-->
-            <!--                    <execution>-->
-            <!--                        <phase>package</phase>-->
-            <!--                        <goals>-->
-            <!--                            <goal>shade</goal>-->
-            <!--                        </goals>-->
-            <!--                        <configuration>-->
-            <!--                            <transformers>-->
-            <!--                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">-->
-            <!--                                    
<mainClass>org.apache.dubbo.samples.ProviderBootstrap</mainClass>-->
-            <!--                                </transformer>-->
-            <!--                                <transformer-->
-            <!--                                        
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">-->
-            <!--                                    
<resource>META-INF/dubbo/internal-->
-            <!--                                    </resource>-->
-            <!--                                </transformer>-->
-            <!--                            </transformers>-->
-            <!--                        </configuration>-->
-            <!--                    </execution>-->
-            <!--                </executions>-->
-            <!--            </plugin>-->
         </plugins>
     </build>
 
diff --git 
a/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Deployment.yml
 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Deployment.yml
index 13c08858..fd656876 100644
--- 
a/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Deployment.yml
+++ 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-consumer/src/main/resources/k8s/Deployment.yml
@@ -17,6 +17,7 @@ spec:
       containers:
         - name: server
           image: dubboteam/dubbo-samples-apiserver-consumer
+          imagePullPolicy: Always
           ports:
             - containerPort: 20880
           livenessProbe:
diff --git a/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
index a2d267c1..8f47d22d 100644
--- a/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
+++ b/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.0.7</dubbo.version>
+        <dubbo.version>3.1.0-SNAPSHOT</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
@@ -62,12 +62,6 @@
             <artifactId>dubbo</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-registry-kubernetes</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -116,15 +110,23 @@
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.6.4</version>
+                <groupId>com.google.cloud.tools</groupId>
+                <artifactId>jib-maven-plugin</artifactId>
+                <version>3.2.1</version>
                 <configuration>
-                    
<mainClass>org.apache.dubbo.samples.ProviderBootstrap</mainClass>
-                    <image>
-                        <name>dubboteam/${project.artifactId}</name>
-                        <pullPolicy>IF_NOT_PRESENT</pullPolicy>
-                    </image>
+                    <to>
+                        
<image>dubboteam/dubbo-samples-apiserver-provider</image>
+                    </to>
+                    <container>
+                        <jvmFlags>
+                            
<jvmFlag>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=31000</jvmFlag>
+                        </jvmFlags>
+                        <ports>
+                            <port>50052</port>
+                            <port>31000</port>
+                            <port>22222</port>
+                        </ports>
+                    </container>
                 </configuration>
             </plugin>
             <!--            <plugin>-->
diff --git 
a/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Deployment.yml
 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Deployment.yml
index b9d00770..51de067a 100644
--- 
a/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Deployment.yml
+++ 
b/dubbo-samples-kubernetes/dubbo-samples-apiserver-provider/src/main/resources/k8s/Deployment.yml
@@ -17,6 +17,7 @@ spec:
       containers:
         - name: server
           image: dubboteam/dubbo-samples-apiserver-provider
+          imagePullPolicy: Always
           ports:
             - containerPort: 20880
           livenessProbe:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to