在前面的文章我们已经完成了使用Grpc框架完成的客户端和服务端调用情况。这里我们试想一下,一般对于Grpc框架相关的微服务,我们一般还是会把项目打包成docker运行或者放在k8s上运行。所以这里我们把这里对应的client项目和server项目打包成docker然后上传到镜像仓库里面去。
这里关于项目打包成docker并且上传到仓库的配置我们在之前的文章中已经介绍过了,详见:《Kubernetes部署微服务实战(十一)打包spring cloud项目镜像》。
这里我们把client项目和server项目的Dockerfile内容给粘贴下,然后再进行打包上传。示例如下:
client项目的Dockerfile:
FROM openjdk:8-jdk-alpine ADD target/grpc-client-1.0.jar /app.jar EXPOSE 8088 ENTRYPOINT ["java","-jar","app.jar"] ENV TZ Asia/Shanghai
server项目的Dokcerfile:
FROM openjdk:8-jdk-alpine ADD target/grpc-server-1.0.jar /app.jar EXPOSE 3001 ENTRYPOINT ["java","-jar","app.jar"] ENV TZ Asia/Shanghai
这里的模板可以做成是一样的,因为是java项目,所以把jar包修改下即可。
接着我们就可以找一个对应的仓库,然后打包,上传就可以了。具体的打包上传可参考:<Kubernetes部署微服务实战(十一)打包spring cloud项目镜像>。这里我们已经把grpc的server端和client端上传到dockerhub了,client镜像如下:
server的镜像如下:
备注:
1、我们的client在之前配置写死了server的地址,示例如下:
由于部署在k8s集群里面的话,这个地址就会发生变动,所以这里我们可以把这个地址修改为k8s负载的名称,示例如下:
到时候部署server这个服务的工作负载的时候,我们把工作负载的名称命名为grpc-server就能保持联通了。详情见后面的k8s部署部分。
最后我们附上本案例的源码,登陆后即可下载。
还没有评论,来说两句吧...