k8S 发布spring boot的jar包

在Kubernetes(K8s)上部署Spring Boot应用(打包成jar文件)的基本步骤如下:

1. 准备Spring Boot应用的Jar包

确保你的Spring Boot应用已经成功构建,生成了可执行的jar包。

2. 创建Docker镜像

为你的Spring Boot应用创建一个Docker镜像。

  1. 创建Dockerfile:在Spring Boot应用的根目录创建一个Dockerfile。这个文件描述了如何构建你的Spring Boot应用的Docker镜像。

    示例Dockerfile:

    Dockerfile 复制代码
    FROM openjdk:8-jdk-alpine
    ARG JAR_FILE=target/*.jar
    COPY ${JAR_FILE} app.jar
    ENTRYPOINT ["java","-jar","/app.jar"]
  2. 构建Docker镜像:运行以下命令来构建Docker镜像:

    bash 复制代码
    docker build -t my-springboot-app:latest .
  3. 推送到镜像仓库:将构建好的镜像推送到Docker镜像仓库,如Docker Hub或私有仓库。

    bash 复制代码
    docker tag my-springboot-app:latest [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest
    docker push [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest

3. 在Kubernetes上部署Spring Boot应用

  1. 创建部署配置文件:创建一个Kubernetes部署文件(YAML),定义如何在K8s上运行你的Spring Boot应用。

    示例deployment.yaml:

    yaml 复制代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-springboot-app
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: my-springboot-app
      template:
        metadata:
          labels:
            app: my-springboot-app
        spec:
          containers:
          - name: my-springboot-app
            image: [YOUR_DOCKERHUB_NAME]/my-springboot-app:latest
            ports:
            - containerPort: 8080
  2. 创建服务配置文件:如果你的应用需要对外提供服务,创建一个服务配置文件(YAML)。

    示例service.yaml:

    yaml 复制代码
    apiVersion: v1
    kind: Service
    metadata:
      name: my-springboot-app-service
    spec:
      type: NodePort
      ports:
        - port: 8080
          nodePort: 30007
      selector:
        app: my-springboot-app
  3. 部署到Kubernetes集群

    bash 复制代码
    kubectl apply -f deployment.yaml
    kubectl apply -f service.yaml
  4. 验证部署:检查部署状态和服务是否正常运行。

    bash 复制代码
    kubectl get deployments
    kubectl get pods
    kubectl get service

4. 访问Spring Boot应用

如果一切设置正确,你的Spring Boot应用现在应该在Kubernetes集群中运行了。你可以通过配置的NodePort(如30007)访问你的应用。

请确保根据实际情况调整上述Dockerfile和Kubernetes配置文件中的参数,例如镜像名称、标签、端口等。这些步骤提供了基础的指南,但可能需要根据实际情况进行微调。

相关推荐
MY_TEUCK20 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
计算机程序定制辅导20 小时前
计算机小程序毕设实战-基于Spring Boot与微信小程序的考研资源共享平台设计与实现基于springboot+微信小程序的考研复习辅助平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
spring boot·微信小程序·小程序·课程设计
凤山老林1 天前
从0到1搭建企业级权限管理系统:Spring Boot + JWT + RBAC实战指南
java·spring boot·后端·权限管理·rbac
2401_878820471 天前
Sa-Token基础篇
java·spring boot·后端·sa-token
weixin_lizhao1 天前
50天独立打造企业级API网关(二):安全防护体系与弹性设计
java·spring boot·安全·spring cloud·gateway
Slow菜鸟1 天前
Docker 学习篇(七)| 实战 — 用 Docker 构建 SpringBoot + Vue 全栈项目
spring boot·学习·docker
梵得儿SHI1 天前
(第三篇)Spring AI 架构设计与优化:容器化与云原生部署,基于 K8s 的 AI 应用全生命周期管理
java·ci/cd·docker·云原生·kubernetes·容器化·spring ai
普修罗双战士1 天前
项目设计-文章系统发布文章完整前后端设计
java·数据库·vue.js·spring boot·git·intellij-idea
m0_737539371 天前
基于LNMP的综合实验
容器·kubernetes