容器交付流程:
1.代码开发阶段
编写代码
测试
**编写dockerfile**
2.持续交付、集成
代码编译打包
**制作镜像**
**上传镜像仓库**(阿里云、网易等)
3.应用部署
环境准备(k8s)
pod/Deployment
service或者ingress对外暴露应用
4.运维
监控
故障排查
升级优化
应用:部署java项目
1.准备java项目,打成jar包或者war包(可直接在Tomcat中运行)
2.需要java环境、jdk环境、maven环境。
3.maven打jar包(windows命令行执行):
mvn clean package,生成一个.jar包
4.java -jar xxx.jar 命令运行jar包,编写一个dockerfile文件生成镜像
From openjdk:8-jdk-alpine
VOLUME /tmp
ADD ./target/xxx.jar xxx.jar
ENTRYPOINT ["java", "-jar", "/xxx.jar", "&"]
5.制作docker镜像
docker build -t xxx-demo-01:latest .
6.本地启动这个镜像,测试是否可用
docker run -d -p 8111:8111 xxx-demo-01:latest -t
7.推送镜像到阿里云,在阿里云上创建仓库,选择本地仓库
7.1 登录创建的仓库
7.2 将镜像tag
7.3 推送到远程仓库
8.部署应用
导出一个yaml,执行ymal进行应用创建:
kubectl create deployment javademo01 --image=registry.cn-xxx-0.1(阿里云镜像的名称) --dry-run -o yaml > javademo.yml
扩容:
kubectl scale deployment javademo01 --replicas=3
暴露端口:
kubectl expose deployment javademo01 --port=8111 --target-port=8111 --type=NodePort