K8s部署spring boot应用

一、前言

spring boot是目前比较流行的快速Java web开发工具,笔者最近使用spring boot开发了部分微服务,并使用k8s进行部署,部署过程中遇到了些问题,现将部署方案分享给大家。开发工具:IDEA,JDK:1.8,构建工具: maven。

二、部署步骤

2.1程序打包

在IDEA开发环境打开工程,Terminal下,执行打包命令:

mvn install  

成功后,会在target目录下生成***.jar文件,验证jar文件可用性:

  • 启动:java -jar ***.jar
  • 使用POSTMAN查看接口是否可用。

2.2 镜像制作

镜像制作是在部署了K8s集群环境的系统中进行。本文是在Ubuntu系统中。

  • 编写Dockerfile
FROM java:8
MAINTAINER tc
ADD  ***.jar  app.jar
EXPOSE 31001
ENTRY
# ENTRYPOINT ["java","-jar", "/***.jar"]

文件内容解释:
1、基镜像为JAVA 版本为8
2、作者名字
3、将项目添加到镜像中,并重命名为app.jar
4、运行镜像文件,监听端口为31001
5、启动时运行java -jar app.jar

  • 构建docker镜像
docker build –t **imagename:v1.0** .   

使用如下命令查看镜像是否构建成功:

docker images  

2.3 将镜像编排到k8s集群中

  • 编写 rc.yaml文件:
apiVersion: v1
kind: ReplicationController
metadata:
        name: svrName
spec:
        replicas: 1
        selector:
                  app: svrName
        template:
                metadata:
                        labels:
                                app: svrName
               spec:
                       containers:
                       - name: svrName
                         image: **imagename:v1.0**
                         ports:
                                 - containerPort:  31001


-编写 svc.yaml文件:

apiVersion: v1
kind: Service
metadata:
        name: svrName
spec:
         type: NodePort
         ports:
         - port: 31001
           nodePort: **31001** 
         selector:
                  app: svrName

  • 创建rc:
kubectl create -f rc.yaml .

查看创建结果:

kubectl  get rc
  • 创建svc:
kubectl create -f svc.yaml .

查看创建结果:

kubectl  get svc
  • 查看pod:
kubectl get pod -o wide

2.4 外部访问

浏览器打开:http://192.168.10.11:31001/test/get

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oyezitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值