跳转至

离线升级

应用工作台支持离线升级。您需要先从安装包中加载镜像,然后执行相应命令进行升级。

tar -vxf amamba_x.y.z_amd64.tar

解压完成后会得到一个压缩包: amamba_x.y.z.bundle.tar

从安装包中加载镜像

支持通过两种方式加载镜像。

通过 charts-syncer 同步镜像

如果环境中存在镜像仓库,建议通过 charts-syncer 将镜像同步到镜像仓库,更加高效便捷。

  1. 使用如下内容创建 load-image.yaml 作为 charts-syncer 的配置文件

    load-image.yaml 文件中的各项参数均为必填项。您需要一个私有的镜像仓库,并参考如下说明修改各项配置。有关 charts-syncer 配置文件的详细解释,可参考其官方文档

    若当前环境已安装 HARBOR chart repo,charts-syncer 也支持将 chart 导出为 tgz 文件。

    load-image.yaml
    source:
      intermediateBundlesPath: amamba-offline # (1)!
    target:
      containerPrefixRegistry: 10.16.10.111 # (2)!
      repo:
        kind: HARBOR # (3)!
        url: http://10.16.10.111/chartrepo/release.daocloud.io # (4)!
        auth:
          username: "admin" # (5)!
          password: "Harbor12345" # (6)!
      containers:
        auth:
          username: "admin" # (7)!
          password: "Harbor12345" # (8)!
    
    1. 到执行 charts-syncer 命令的相对路径,而不是此 YAML 文件和离线包之间的相对路径
    2. 需更改为你的镜像仓库 url
    3. 也可以是任何其他支持的 Helm Chart 仓库类别
    4. 需更改为 chart repo project url
    5. 你的镜像仓库用户名
    6. 你的镜像仓库密码
    7. 你的镜像仓库用户名
    8. 你的镜像仓库密码

    若当前环境已安装 CHARTMUSEUM chart repo,charts-syncer 也支持将 chart 导出为 tgz 文件。

    load-image.yaml
    source:
      intermediateBundlesPath: amamba-offline # (1)!
    target:
      containerPrefixRegistry: 10.16.10.111 # (2)!
      repo:
        kind: CHARTMUSEUM # (3)!
        url: http://10.16.10.111 # (4)!
        auth:
          username: "rootuser" # (5)!
          password: "rootpass123" # (6)!
      containers:
        auth:
          username: "rootuser" # (7)!
          password: "rootpass123" # (8)!
    
    1. 到执行 charts-syncer 命令的相对路径,而不是此 YAML 文件和离线包之间的相对路径
    2. 需更改为你的镜像仓库 url
    3. 也可以是任何其他支持的 Helm Chart 仓库类别
    4. 需更改为 chart repo url
    5. 你的镜像仓库用户名, 如果 chartmuseum 没有开启登录验证,就不需要填写 auth
    6. 你的镜像仓库密码
    7. 你的镜像仓库用户名
    8. 你的镜像仓库密码

    若当前环境未安装 chart repo,charts-syncer 也支持将 chart 导出为 tgz 文件并存放在指定路径。

    source:
      intermediateBundlesPath: amamba-offline # (1)!
    target:
      containerRegistry: 10.16.23.145 # (2)!
      containerRepository: release.daocloud.io/amamba # (3)!
      repo:
        kind: LOCAL
        path: ./local-repo # (4)!
      containers:
        auth:
          username: "admin" # (5)!
          password: "Harbor12345" # (6)!
    
    1. 到执行 charts-syncer 命令的相对路径,而不是此 YAML 文件和离线包之间的相对路径
    2. 需更改为你的镜像仓库 url
    3. 需更改为你的镜像仓库
    4. chart 本地路径
    5. 你的镜像仓库用户名
    6. 你的镜像仓库密码
  2. 将 amamba_x.y.z.bundle.tar 放到 amamba-offline 文件夹下。

  3. 执行同步镜像命令。

    charts-syncer sync --config load-image.yaml
    

通过 docker 或 containerd 直接加载镜像

  1. 解压 tar 压缩包。

    tar -vxf amamba_x.y.z.bundle.tar
    

    解压成功后会得到 3 个文件:

    • hints.yaml
    • images.tar
    • original-chart
  2. 执行如下命令从本地加载镜像到 Docker 或 containerd。

    docker load -i images.tar
    
    ctr -n k8s.io image import images.tar
    

Note

  • 需要在每个节点上都通过 Docker 或 containerd 加载镜像。
  • 加载完成后需要 tag 镜像,保持 Registry、Repository 与安装时一致。

升级

  1. 检查应用工作台 helm 仓库是否存在。

    helm repo list | grep amamba
    

    若返回结果为空或如下提示,则进行下一步;反之则跳过下一步。

    Error: no repositories to show
    
  2. 添加应用工作台的 helm 仓库。

    helm repo add amamba-release http://{harbor url}/chartrepo/{project}
    
  3. 更新应用工作台的 helm 仓库。

    helm repo update amamba-release # (1)!
    
    1. Helm 版本过低会导致失败,若失败,请尝试执行 helm update repo
  4. 选择您想安装的应用工作台版本(建议安装最新版本)。

    helm search repo amamba-release/amamba --versions
    
    NAME                    CHART VERSION  APP VERSION  DESCRIPTION
    amamba-release/amamba    0.24.0         0.24.0       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.23.0         0.23.0       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.22.1         0.22.1       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.22.0         0.22.0       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.21.2         0.21.2       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.21.1         0.21.1       Amamba is the entrypoint to DCE5.0, provides de...
    amamba-release/amamba    0.21.0         0.21.0       Amamba is the entrypoint to DCE5.0, provides de...
    ...
    
  5. 备份 --set 参数。

    在升级应用工作台版本之前,建议您执行如下命令,备份老版本的 --set 参数。

    helm get values amamba -n amamba-system -o yaml > bak.yaml
    
  6. 执行 helm upgrade

    升级前建议您覆盖 bak.yaml 中的 global.imageRegistry 字段为当前使用的镜像仓库地址。

    export imageRegistry={你的镜像仓库}
    
    helm upgrade amamba amamba-release/amamba \
      -n amamba-system \
      -f ./bak.yaml \
      --set global.imageRegistry=$imageRegistry \
      --version 0.24.0
    
  1. 准备好 original-chart(通过解压 amamba_x.y.z.bundle.tar 得到)。

  2. 备份 --set 参数。

    在升级应用工作台版本之前,建议您执行如下命令,备份老版本的 --set 参数。

    helm get values amamba -n amamba-system -o yaml > bak.yaml
    
  3. 执行 helm upgrade

    升级前建议您覆盖 bak.yaml 中的 global.imageRegistry 为当前使用的镜像仓库地址。

    export imageRegistry={你的镜像仓库}
    
    helm upgrade amamba original-chart \
      -n amamba-system \
      -f ./bak.yaml \
      --set global.imageRegistry=$imageRegistry
    

评论