Skip to content

offline deployment

Wangpan edited this page May 25, 2023 · 20 revisions

离线环境准备

Curve镜像准备

下载Curve标准镜像(如:harbor.cloud.netease.com/curve/curvefs:release2.4-beta2)到本地环境(可访问外网的机器)

$ sudo docker pull harbor.cloud.netease.com/curve/curvefs:release2.4-beta2

打包镜像并导出到本地仓库节点

  • 打包镜像
# 查看下载到的curve镜像
$ sudo  docker image ls 
harbor.cloud.netease.com/curve/curvefs  release2.4-beta2  5717f16d4bec   1 months ago   1.84GB

# 打包镜像
$ sudo  docker save -o curve_release2.4-beta2.tar 5717f16d4bec
  • 拷贝镜像到本地仓库节点
$ scp curve_release2.4-beta2.tar  ${desthost}:/path/to/save/image
  • 导出镜像
$ docker load --input curve_release2.4-beta2.tar

# 查看导出的镜像
$ sudo  docker image ls 
harbor.cloud.netease.com/curve/curvefs  release2.4-beta2  5717f16d4bec   1 months ago   1.84GB

本地镜像仓库搭建

使用docker-registry来进行本地仓库的搭建,搭建完本地仓库后, 把前面步骤中下载的Curve镜像上传到本地仓库。主要有以下几步:

  • 运行 docker-registry
$ docker run -d -p 5000:5000 --restart=always --name registry registry
  • 标记Curve镜像

标记下载到的Curve镜像,比如把下载来的镜像(harbor.cloud.netease.com/curve/curvefs:release2.4-beta2)标记为127.0.0.1:5000/curvefs:release2.4-beta2_local

# 查看下载到的curve镜像
$ sudo  docker image ls 
harbor.cloud.netease.com/curve/curvefs  release2.4-beta2  5717f16d4bec   1 months ago   1.84GB

# 标记镜像(127.0.0.1:本机作为本地仓库;5000:本地仓库服务端口号)
$ sudo docker tag harbor.cloud.netease.com/curve/curvefs:release2.4-beta2  127.0.0.1:5000/curvefs:release2.4-beta2_local

# 查看标记完的镜像
$ sudo  docker image ls
 127.0.0.1:5000/curvefs                           release2.4-beta2_local                       5717f16d4bec   13 months ago   1.84GB
  • 上传镜像
$ docker push 127.0.0.1:5000/curvefs:release2.4-beta2_local

更多详情可参考私有仓库搭建

修改镜像

修改client.yaml以及topology.yaml中的镜像路径(container_image)为本地仓库镜像路径(127.0.0.1:5000/curvefs:release2.4-beta2_local)

备注: topology.yaml以及client.yaml分别是curvefs的服务端以及客户端的一键部署文件,下文有介绍(详情参考CurveAdm部署文档)

部署

安装curveadm

curveadm是curve部署工具,有外网的机器可以一键安装,具体安装参见curveadm安装

但由于本文是介绍内网环境的部署,所以需按如下步骤操作:

  • 下载curveadm到本地可访问外网机器 把 curvadm 先下载下来

  • 把Curveadm拷贝到内网安装需安装curve服务的主控机

  • 解压Curveadm

  • 拷贝执行程序并设置环境变量

$ mv curveadm ~/.curveadm

# 可考虑更新到~/.bash_profile进行持久化
$ export PATH=~/.curveadm/bin:$PATH

主机配置

其实就是配置curve所属集群(包括服务端以及客户端)有哪些机器,让curveadm这一部署工具知道自己管理着哪些机器。主机配置也很简单,hosts.yaml中添加实际主机名和ip,然后可以 一键搞定。

具体配置参考文档:主机管理

CurveFS服务端部署

需修改topology.yaml中的镜像为本地镜像,如下:

kind: curvefs
global:
  container_image: 127.0.0.1:5000/curvefs:release2.4-beta2_local  ## 修改为本地镜像

至于其他的配置项请参考文档 CurveFS集群部署

client端部署

需修改client.yaml中的镜像为本地镜像,如下:

kind: curvefs
global:
  container_image: 127.0.0.1:5000/curvefs:release2.4-beta2_local ## 修改为本地镜像

至于其他的配置项请参考文档 部署 CurveFS 客户端

Clone this wiki locally