概述

在我们开发环境中,肯定会为了测试新开发的功能,从而不断的部署测试新功能的完善性。而每次在测试环境中进行docker镜像打包不建议打版本号,而是建议使用latest 。这样我们就是可以只要删除k8s的pod ,k8s就会自动重新下载最新的镜像,自动部署到k8s环境。

步骤

假定目前部署的服务版本就是latest

  1. 打包镜像要部署的服务版本为latest ,上传到镜像仓库。当然这个还是要看你们服务之前部署的镜像地址是哪一个,以那个为准。
  2. 登录rancher容器管理平台,进行删除对应服务的pod,删除之后会自动重建一个pod,这个重建的会拉取到我们刚才打包最新的镜像。

演示

  1. 打包镜像

🐷 当前以demo 项目为例,首先进行的是maven 编译打包,命令:mvn package -DskipTests=true
image.png
🐷 进行docker 镜像的打包,我这里对应的镜像地址是内网仓库,当前你们如果是阿里云的直接推送到阿里云也是可以的。对应命令: docker build -t docker.dapeng.lan/dapeng/demo:latest . **镜像仓库换成自己的**
image.png
🐷 上传镜像 命令:docker push docker.dapeng.lan/dapeng/demo:latest
image.png

  1. 更新服务

首先要登录rancher ,找到自己的项目空间,我这里是default 项目空间
image.png
找到自己对应服务进入服务的内部,(工作负载=deployment)
image.png
内部就是pod ,勾选pod 点击删除
image.png
image.png

删除之后它会自动重建一个pod,并且拉去最新镜像。
image.png
重建完成就会移除之前的pod,保持一个
image.png
升级完成直接访问就可以了。
这样就完成了。