K8s部署spring boot应用
d
·
一、前言
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条内容
所有评论(0)