K8S 部署 SpringBoot 项目(一篇够用)
要在Kubernetes上部署Spring Boot项目,你需要创建一个Docker镜像,并定义Kubernetes部署配置。以下是一个简化的步骤和示例配置:
- 创建Dockerfile:
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
- 构建Docker镜像:
docker build -t my-spring-boot-app .
- 推送镜像到镜像仓库:
docker tag my-spring-boot-app my-repo/my-spring-boot-app:1.0.0
docker push my-repo/my-spring-boot-app:1.0.0
- 创建Kubernetes部署配置 (my-spring-boot-app.yaml):
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-spring-boot-app
spec:
replicas: 2
selector:
matchLabels:
app: my-spring-boot-app
template:
metadata:
labels:
app: my-spring-boot-app
spec:
containers:
- name: my-spring-boot-app
image: my-repo/my-spring-boot-app:1.0.0
ports:
- containerPort: 8080
- 创建Service以暴露应用 (my-spring-boot-app-service.yaml):
apiVersion: v1
kind: Service
metadata:
name: my-spring-boot-app-service
spec:
selector:
app: my-spring-boot-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
- 应用配置到Kubernetes:
kubectl apply -f my-spring-boot-app.yaml
kubectl apply -f my-spring-boot-app-service.yaml
以上步骤会创建一个部署,确保有足够的副本运行你的Spring Boot应用,并通过服务暴露它,类型为LoadBalancer允许从外部访问应用。
确保你的Kubernetes集群是运行的,并且kubectl配置正确指向它。此外,替换my-repo/my-spring-boot-app:1.0.0
为你的实际镜像路径。
评论已关闭