部署项目流程
- 容器交互流程
- k8s部署java项目流程
容器交付流程
- 开发到码阶段 容器化测试 编写Dockerfile文件
- 持续集成 代码编译、打包 制作镜像 上传镜像仓库
- 应用部署 创建pod、service、ingress
- 运维 监控、故障排查、升级优化
k8s 部署项目流程 细节过程
- 制作镜像
- Dockerfile
- 推送到镜像仓库 阿里云、网易云
- 控制器部署镜像 deployment
- 对外暴露端口 service、ingress
- 运维 监控、升级
k8s集群部署项目
- 准备java项目、 打包
- 制作镜像
- 查看镜像 docker images
- 本地启动制作好的镜像 测试
- 镜像上传到镜像服务器 (阿里云)
- 阿里云镜像服务创建命名空间
- 登录镜像仓库
- 为镜像添加版本号
- 实现推送
- 拉取镜像
- 控制器部署镜像 到处yml文件 执行yml文件
- 对外暴露端口
Dockerfile
FROM
VOLUME /tmp
ADD 源文件路径 demo.jar(jar包自定义名称)
ENTRYPOINT ["java", "jar", "/demo.jar", "&"]
阿里云镜像
$ docker login --username=lolka****@live.com registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/java-demo1/k8s-demo:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/java-demo1/k8s-demo:[镜像版本号]
kubectl创建pod
kubectl create deployment javademo1 --image=阿里云镜像地址 --dry-run -o yaml > javademo1.yaml
对外暴露端口
kubectl expose deployment javademo1 --port=3000 --target-port=3000 --type=NodePort
查看暴露端口
kubectl getsvc
pod操作
查询pod
kubectl get pod
删除pod
kubectl delete pod javademo1-7854d5cbc5-8bb55(pod名称)
deployment操作
查询
kubectl get deployment
kubectl delete deployment javademo1(deploymenty名称)