1:mvn对应的项目的jar
编写Dockerfile
以最简单的可以运行java的镜像举例
FROM openjdk:8
COPY study-0.0.1-SNAPSHOT.jar /study-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","/study-0.0.1-SNAPSHOT.jar"]
3:build出对应的image
docker build -t helloworld .
4:docker push到指定的镜像中心
5:编写deployment.yaml部署文件
spec:
selector:
matchLabels:
app: springboot
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: springboot
spec:
containers:
- name: springboot
image: helloworld
#本地拉取镜像
imagePullPolicy: Never
ports:
- containerPort: 80
6:发布部署
kubectl apply -f helloworld-deployment.yaml
查看部署是否成功
kubectl get pods
7:编写service.yaml部署文件
apiVersion: v1
kind: Service
metadata:
name: hello-service
spec:
type: NodePort
selector:
app: springboot
ports:
- protocol: TCP
port: 80
targetPort: 8080
查看部署是否成功
kubectl get services
8:查看服务端口绑定到物理节点的端口
kubectl get svc
服务端口映射到物理主机的端口是32405
9:验证是否可以使用访问
那么一个最基本的boot服务从package到打入docker镜像,再到k8s集群去负责编排调度,到完成使用就可以了。