Kubernetes部署Springboot

2025-11-07 69

Springboot是专门用户构建独立且可执行的Spring应用程序的框架,主要为了简化传统Java EE开发的过程。将Springboot应用程序部署到Kubernetes中可以提供更好的应用程序部署和管理体验,开发者可以轻松构建出高度可伸缩和可靠的微服务架构。接下来将主要介绍如何利用Kubernetes部署Springboot项目。

一、Kubernetes部署部署WordPress+mysql

WordPress是用于快速搭建博客系统。

1、创建wordpress命名空间

# 创建namespace
kubectl create namespace wordpress
# 查看namespace列表
kubectl get ns

2、创建mysql数据库

以下yaml文件创建一个mysql,并且生成一个service,service对外暴露的端口是3306。

Kubernetes部署Springboot

Kubernetes部署Springboot

3、创建WordPress应用

搭建成功后用浏览器访问192.168.56.101:30493,发现访问成功!

Kubernetes部署Springboot

Kubernetes部署Springboot

总之,在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮我们做了负载均衡,而且做了dns处理。

二、部署自己Springboot项目

1、准备Springboot项目

访问:http://localhost:8080/k8s,先试用maven打成一个jar包:

Kubernetes部署Springboot

注意!这一步通常来说使用jenkins完成,此处我们是手动完成的。

2、使用docker打成镜像

(1)编写Dockerfile:

FROM openjdk:8-jre-alpine
COPY springboot-demo-0.0.1-SNAPSHOT.jar /springboot-demo.jar
ENTRYPOINT [“java”,”-jar”,”/springboot-demo.jar”]
# 根据Dockerfile创建image:docker build -t springboot-demo-image .
# 查看是否成功打成了镜像:docker images

(2)将镜像推送至dockerhub

# 登录阿里云镜像仓库 # 需要输入密码
docker login –username=******* registry.cn-hangzhou.aliyuncs.com
docker tag springboot-demo-image registry.cn-hangzhou.aliyuncs.com/cxf01/springboot-demo-image:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/cxf01/springboot-demo-image:v1.0

Kubernetes部署Springboot

(3)运行测试

# 运行:docker run -d –name s1 springboot-demo-image # 未做端口映射
# 访问:docker inspect s1
curl 172.17.0.2:8080/k8s # 未做端口映射,只能访问容器ip

3、使用k8s部署springboot

Kubernetes部署Springboot

Kubernetes部署Springboot

三、通过Kubernetes部署springcloud项目

1、部署nacos

(1)下载部署nacos server1.0.0

github:https://github.com/alibaba/nacos/releases

  • 上传nacos-server-1.0.0.tar.gz到阿里云服务器:/usr/local/nacos
  • 解压:tar -zxvf
  • 进入到bin目录执行:sh startup.sh -m standalone [需要有java环境的支持]
  • 浏览器访问:192.168.56.100:8848/nacos
  • 用户名和密码:nacos

2、微服务注册到nacos的地址问题

我们有微服务user、order,在pod注册到nacos上的地址,默认是pod的内部地址。
如果在同一个k8s集群下,这样部署是没问题的,但是不同k8s集群下,微服务之间就互相不可访问了。

使用host模式:

Kubernetes部署Springboot

如上,加上hostNetwork: true,就会在nacos上注册的ip端口,会映射成宿主机的ip和端口。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。