美文网首页linux运维
k8s部署-24-springboot的web服务迁移到k8s中

k8s部署-24-springboot的web服务迁移到k8s中

作者: 运维家 | 来源:发表于2022-03-30 10:08 被阅读0次

    上一篇说了cronjob该如何操作能迁移到k8s中,接下来我们就将springboot的web服务迁移到k8s中,看看如何操作吧。

     迁移流程

    迁移流程和上一篇的一样,就直接把上篇的图拿过来用了。

    基础镜像

    也是基于java环境的,那么巧了不是,参考上篇中的该小节内容,就不水文了。

    服务本身

    1、服务下载

    从公众号“运维家”后台回复“springboot-web服务包”,即可获取下载地址;下载完毕之后解压到node1节点上。

    2、服务认识

    [root@node1 ~]# cd ceshi/[root@node1 ceshi]# ls springboot-web-demo.zip springboot-web-demo.zip[root@node1 ceshi]# unzip springboot-web-demo.zip[root@node1 ceshi]# cd springboot-web-demo/[root@node1 springboot-web-demo]# lspom.xml  src[root@node1 springboot-web-demo]# [root@node1 springboot-web-demo]# vim src/main/resources/applications.properties # 这里写了服务名字和端口号server.name=springboot-web-demoserver.port=8080[root@node1 springboot-web-demo]# vim src/main/java/com/mooc/demo/controller/DemoController.java # 这里面写了个接口,叫做“hello”,就是当你传入一个名字的时候给你返回一下package com.mooc.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;/** * Created by Michael on 2018/9/29. */@RestControllerpublic class DemoController {    @RequestMapping("/hello")    public String sayHello(@RequestParam String name) {        return "Hello "+name+"! I'm springboot-web-demo controller!";    }}[root@node1 springboot-web-demo]# 

    3、程序打包

    使用mvn打包,如果不知道如何安装的,请查看上一篇。

    [root@node1 springboot-web-demo]# pwd/root/ceshi/springboot-web-demo[root@node1 springboot-web-demo]# mvn package# 当出现如下信息的时候就表示成功了[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time:  04:46 min[INFO] Finished at: 2022-03-29T11:04:18+08:00[INFO] ------------------------------------------------------------------------[root@node1 springboot-web-demo]# cd target/[root@node1 target]# lsclasses  generated-sources  maven-archiver  maven-status  springboot-web-demo-1.0-SNAPSHOT.jar  springboot-web-demo-1.0-SNAPSHOT.jar.original[root@node1 target]#

    测试下打包的程序是否可以运行:

    [root@node1 target]# java -jar springboot-web-demo-1.0-SNAPSHOT.jar

    浏览器访问一下:

    # 192.168.112.130 这个是我node1节点的IP哈,根据你自己的来http://192.168.112.130:8080/hello?name=yunweijia

    出现如下结果,表示程序打包本身无问题:

    构建镜像

    [root@node1 target]# cd ..[root@node1 springboot-web-demo]# pwd/root/ceshi/springboot-web-demo[root@node1 springboot-web-demo]# vim DockerfileFROM registry.cn-beijing.aliyuncs.com/yunweijia0909/openjdk:8-jreCOPY target/springboot-web-demo-1.0-SNAPSHOT.jar /springboot-web-demo.jarENTRYPOINT ["java", "-jar", "/springboot-web-demo.jar"][root@node1 springboot-web-demo]#[root@node1 springboot-web-demo]# cd ..[root@node1 ceshi]# tar zcf springboot-web-demo.tar.gz springboog-web-demo# 把以上目录打个包,传输到一台有docker环境的服务器上,进行如下操作[root@jier ~]# [root@jier ~]# cd ceshi[root@jier ceshi]# mv /springboot-web-demo.tar.gz .[root@jier ceshi]# tar xf springboot-web-demo.tar.gz [root@jier ceshi]# lscronjob-demo  springboot-web-demo  sprintboog-web-demo.tar.gz[root@jier ceshi]# [root@jier ceshi]# cd springboot-web-demo/[root@jier springboot-web-demo]# lsDockerfile  pom.xml  src  target[root@jier springboot-web-demo]# docker build -t springboot-web:v1 .Sending build context to Docker daemon  16.26MBStep 1/3 : FROM registry.cn-beijing.aliyuncs.com/yunweijia0909/openjdk:8-jre ---> 71d97cb5644aStep 2/3 : COPY target/springboot-web-demo-1.0-SNAPSHOT.jar /springboot-web-demo.jar ---> 85c66d00e6bbStep 3/3 : ENTRYPOINT ["java", "-jar", "/springboot-web-demo.jar"] ---> Running in fd51ce70fa49Removing intermediate container fd51ce70fa49 ---> 8ad32427177eSuccessfully built 8ad32427177eSuccessfully tagged springboot-web:v1[root@jier springboot-web-demo]# # 上传到自己的仓库[root@jier springboot-web-demo]# docker tag springboot-web:v1 registry.cn-beijing.aliyuncs.com/yunweijia0909/springboot-web:v1[root@jier springboot-web-demo]# docker push registry.cn-beijing.aliyuncs.com/yunweijia0909/springboot-web:v1The push refers to repository [registry.cn-beijing.aliyuncs.com/yunweijia0909/springboot-web]f0863c28a34b: Pushed 6708e662f7d4: Mounted from yunweijia0909/cronjob 2543359fb19b: Mounted from yunweijia0909/cronjob 200bb8035fe4: Mounted from yunweijia0909/cronjob 6e632f416458: Mounted from yunweijia0909/cronjob e019be289189: Mounted from yunweijia0909/cronjob c9a63110150b: Mounted from yunweijia0909/cronjob v1: digest: sha256:1953bfa3859e02f7f8ab10e5b69a0505c738f2d05040be6222e63c2971e8b45d size: 1794[root@jier springboot-web-demo]#

    服务发现策略

    剩余内容请转至VX公众号 “运维家” ,回复 “131” 查看。

    相关文章

      网友评论

        本文标题:k8s部署-24-springboot的web服务迁移到k8s中

        本文链接:https://www.haomeiwen.com/subject/cmuijrtx.html