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项目实例。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗