kubernetes发布springboot项目

 1、获取springboot资源包

开发人员代码运行本地没有问题

 

 本地打包代码

以此执行clean、packages。

 

 打包之后,在target目录下,找到对应的“helloworld-0.0.1-SNAPSHOT.jar”包。

 

继续测试jar包的可用性

由于生产环境的端口有冲突,现在将端口变更,重新修改下为8880.

 

 [root@master springboot]# java -jar helloworld-0.0.1-SNAPSHOT.jar 运行项目

如下,测试正常,所运行的jar包无问题。

 

  

2、制作dockerfile镜像

编写dockerfile和准备文件

 

 [root@master springboot]# docker build -t springb_hello:v1 .

[root@master springboot]# docker images |grep  spring

springb_hello         v1       1c43627e054c        57 seconds ago      603 MB

[root@master springboot]# docker run -itd -p 8999:8880 --name=test springb_hello:v1

59faa3b14f19292272909bd0a1c20649bbfbcd53a932d2662f5606ee909c7c33

[root@master springboot]# docker ps |grep springb_hello

59faa3b14f19    springb_hello:v1         "java -jar /data/s..."   22 seconds ago      Up 21 seconds       0.0.0.0:8999->8880/tcp   test

[root@master springboot]# curl 192.168.19.132:8999/name

 

 观察服务, 宿主机可以查看到相关服务。

 

如上所示,dockfiles生成的镜像有效,可以推送到私有仓库。

[root@master springboot]# docker tag springb_hello:v1 192.168.19.132:5000/springb_hello:v1

[root@master springboot]# docker push 192.168.19.132:5000/springb_hello:v1

The push refers to a repository [192.168.19.132:5000/springb_hello]

37e0f579e75d: Pushed

fa883cef017d: Pushing [=============================>       ] 277.8 MB/384.5 MB

  

3、Kubernetes部署应用

Kubernetes部署deployment服务如下,

 

 如下,测试正常。

 

 自此,kubernetes服务部署成功,下面暴露服务给客户端访问。

 

 [root@master springboot]# kubectl get pods -owide |grep springb

springb-1481755096-6gxhn   1/1     Running   0          3m     10.0.47.2   node1

[root@master springboot]# kubectl get svc springbservice

NAME         CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE

springbservice   10.254.142.108   <nodes>       8880:31473/TCP   3m

 

 自此,完成了kubernetes部署springboot项目实例。 

posted @ 2019-06-06 17:45  wang_wei123  阅读(3317)  评论(0编辑  收藏  举报