本文介绍: 在Spring Boot应用的根目录创建一个Dockerfile。这个文件描述了如何构建你的Spring Boot应用的Docker镜像。:创建一个Kubernetes部署文件(YAML),定义如何在K8s上运行你的Spring Boot应用。:将构建好的镜像推送到Docker镜像仓库,如Docker Hub或私有仓库。确保你的Spring Boot应用已经成功构建,生成了可执行的jar包。:如果你的应用需要对外提供服务,创建一个服务配置文件(YAML)。:检查部署状态和服务是否正常运行。
在Kubernetes(K8s)上部署Spring Boot应用(打包成jar文件)的基本步骤如下:
1. 准备Spring Boot应用的Jar包
确保你的Spring Boot应用已经成功构建,生成了可执行的jar包。
2. 创建Docker镜像
-
创建Dockerfile:在Spring Boot应用的根目录创建一个Dockerfile。这个文件描述了如何构建你的Spring Boot应用的Docker镜像。
FROM openjdk:8-jdk-alpine ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
-
docker build -t my-springboot-app:latest .
-
推送到镜像仓库:将构建好的镜像推送到Docker镜像仓库,如Docker Hub或私有仓库。
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应用
-
创建部署配置文件:创建一个Kubernetes部署文件(YAML),定义如何在K8s上运行你的Spring Boot应用。
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
-
创建服务配置文件:如果你的应用需要对外提供服务,创建一个服务配置文件(YAML)。
apiVersion: v1 kind: Service metadata: name: my-springboot-app-service spec: type: NodePort ports: - port: 8080 nodePort: 30007 selector: app: my-springboot-app
-
kubectl apply -f deployment.yaml kubectl apply -f service.yaml
-
kubectl get deployments kubectl get pods kubectl get service
4. 访问Spring Boot应用
如果一切设置正确,你的Spring Boot应用现在应该在Kubernetes集群中运行了。你可以通过配置的NodePort(如30007)访问你的应用。
请确保根据实际情况调整上述Dockerfile和Kubernetes配置文件中的参数,例如镜像名称、标签、端口等。这些步骤提供了基础的指南,但可能需要根据实际情况进行微调。
原文地址:https://blog.csdn.net/sunyuhua_keyboard/article/details/134744517
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_44970.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。