k8s部署实战-springboot应用部署
在 Kubernetes 上部署 SpringBoot 应用实战指南
前言
本文将详细介绍如何将一个 SpringBoot 应用部署到 Kubernetes 集群中,包括制作镜像、编写部署文件、创建服务等完整步骤。
准备工作
1. 示例 SpringBoot 应用
假设我们有一个简单的 SpringBoot 应用,提供 REST API 服务:
@SpringBootApplication
@RestController
public class DemoApplication {@GetMapping("/hello")public String hello() {return "Hello from Kubernetes!";}public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}
2. Dockerfile
创建用于构建应用镜像的 Dockerfile:
# 使用 JDK 17 作为基础镜像
FROM openjdk:17-jdk-slim# 工作目录
WORKDIR /app# 复制 jar 包
COPY target/*.jar app.jar# 暴露端口
EXPOSE 8080# 启动命令
ENTRYPOINT ["java","-jar","app.jar"]
部署步骤
1. 构建并推送 Docker 镜像
# 构建 SpringBoot 应用
mvn clean package# 构建 Docker 镜像
docker build -t your-registry/springboot-demo:1.0 .# 推送到镜像仓库
docker push your-registry/springboot-demo:1.0
2. 创建 Kubernetes 配置文件
创建 Deployment (deployment.yaml)
apiVersion: apps/v1
kind: Deployment
metadata:name: springboot-demonamespace