欢迎访问机房运维工作室

爱数知识库

AnyShare-AnyShare 7.0 替换微服务镜像包

频道:爱数知识库 日期: 浏览:56

AnyShare-AnyShare 7.0 替换微服务镜像包

关键字

替换镜像包 、 升级


适用产品

  • AnyShare Enterprise 7.0.x
  • AnyShare Express 7.0.x
  • AnyShare Cloud 7.0.x

目的

由于产品包进行问题修复或镜像更新升级,需要替换服务镜像,可参考本最佳实践,更新 pod 镜像配置。


解决方案

警告:执行以下步骤将短暂中断 AnyShare 业务,请提前准备停机时间,如有多个节点操作,务必逐台操作。

1.通过 SSH 工具登录 Anyshare 节点,执行以下命令,查看需要更新升级镜像信息,以单节点替换 webportal 镜像包为例,多节点每个节点都要查询操作。

docker images |awk 'NR==1 || /webportal/'

2.备份要替换的镜像到 /tmp 目录,如 IMAGE ID 有不一致,需要全部备份。

docker save -o /tmp/webportal.tar <REPOSITORY>:<TAG>

3.执行以下命令,删除 webportal 镜像。

注意:如为多节点,每个节点均需要操作删除镜像,镜像的 REPOSITORY 和 TAG 信息需要记录,会在第 4 步 中使用。

docker rmi -f <REPOSITORY>:<TAG>

4.将新微服务镜像 webportal.tar 包上传到所有节点,执行以下命令,导入镜像包。

docker load -i webportal.tar

5.通过镜像信息 Loaded image ID 给每个节点镜像包打上 tag ,注意路径和版本号。 <REPOSITORY>,<TAG> 为第 2 步删除的信息。

docker tag < Loaded image ID > <REPOSITORY >:<TAG>

6.执行以下命令,检查镜像 tag 是否打成功。

docker images | grep webportal

7.确认无误,执行以下命令,重启 webportal 所有 pod ,多个 <pod 名称> 可写在一行。

kubectl get po -A | grep webportal

kubectl delete po -n <namespace> <pod 名称>

更多信息

关于 docker tag 更多信息,请参考官方文档:https://docs.docker.com/engine/reference/commandline/tag/

关于 docker push 更多信息,请参考官方文档:https://docs.docker.com/engine/reference/commandline/push/