Kubernetes集群-部署Java项目(SSG)
k8s部署项目java流程图
第一步 打包+制作镜像
打包 java源码:
application.properties
#在有pom.xml的路径下执行
mvn clean package
制作镜像:
将刚才打包后的文件夹传到,装有docker的服务器,来制作镜像。
编写Dockerfile
FROM openjdk:8-jdk-alpine #jdk环境
VOLUME /tmp # 临时存储的文件
ADD ./target/demojenkins.jar demojenkins.jar #进行打包
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"] #启动
制作镜像
#制作
docker build -t java-demo-01:latest .
#本地启动验证
docker run -d -p 8111:8111 java-demo-01:latest -t
浏览器访问java项目: http://192.168.44.134:8111/user
第二步 推送镜像(阿里云容器镜像)
登陆阿里云的镜像仓库
$ docker login --username=XXX registry.cn-hangzhou.aliyuncs.com
官网demo:
推送操作:
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/aliyundem/java-project01:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/glutgl/java-project-01:[镜像版本号]
拉取操作:
docker pull registry.cn-hangzhou.aliyuncs.com/aliyundemq/java-project01:[镜像版本号]
第三步 部署镜像到k8s
创建deployment
kubectl create deployment javademo1 --image=registry.cn-hangzhou.aliyuncs.com/aliyundemojq/java-project01:[镜像版本号] --dry-run -o yaml >javademo1.yaml
kubectl apply -f javademo1.yaml
kubectl get pods -o wide
#扩容操作
kubectl scale deployment javademo1 --replicas=3
创建svc 暴露端口
#生产环境一般都是写成yaml文件。
kubectl expose deployment javademo1 --port=8111 --target-port=8111 --type=NodePort
访问验证:输入master或node1的IP+30675
END
参考:
https://blog.csdn.net/qq_45498432/article/details/128049672
https://blog.csdn.net/qq_50255609/article/details/127593491