离线升级全局管理模块¶
本页说明下载全局管理模块后,应该如何安装或升级。
Info
下述命令或脚本内出现的 ghippo
字样是全局管理模块的内部开发代号。
从安装包中加载镜像¶
您可以根据下面两种方式之一加载镜像,当环境中存在镜像仓库时,建议选择chart-syncer同步镜像到镜像仓库,该方法更加高效便捷。
chart-syncer 同步镜像到镜像仓库¶
-
创建 load-image.yaml
Note
该 YAML 文件中的各项参数均为必填项。您需要一个私有的镜像仓库,并修改相关配置。
若当前环境已安装 chart repo,chart-syncer 也支持将 chart 导出为 tgz 文件。
load-image.yamlsource: intermediateBundlesPath: ghippo-offline # (1) target: containerRegistry: 10.16.10.111 # (2) containerRepository: release.daocloud.io/ghippo # (3) repo: kind: HARBOR # (4) url: http://10.16.10.111/chartrepo/release.daocloud.io # (5) auth: username: "admin" # (6) password: "Harbor12345" # (7) containers: auth: username: "admin" # (6) password: "Harbor12345" # (7)
- 到执行 charts-syncer 命令的相对路径,而不是此 YAML 文件和离线包之间的相对路径
- 需更改为你的镜像仓库 url
- 需更改为你的镜像仓库
- 也可以是任何其他支持的 Helm Chart 仓库类别
- 需更改为 chart repo url
- 你的镜像仓库用户名
- 你的镜像仓库密码
若当前环境未安装 chart repo,chart-syncer 也支持将 chart 导出为 tgz 文件,并存放在指定路径。
load-image.yamlsource: intermediateBundlesPath: ghippo-offline # (1) target: containerRegistry: 10.16.10.111 # (2) containerRepository: release.daocloud.io/ghippo # (3) repo: kind: LOCAL path: ./local-repo # (4) containers: auth: username: "admin" # (5) password: "Harbor12345" # (6)
- 到执行 charts-syncer 命令的相对路径,而不是此 YAML 文件和离线包之间的相对路径
- 需更改为你的镜像仓库 url
- 需更改为你的镜像仓库
- chart 本地路径
- 你的镜像仓库用户名
- 你的镜像仓库密码
-
执行同步镜像命令。
Docker 或 containerd 直接加载¶
解压并加载镜像文件。
-
解压 tar 压缩包。
解压成功后会得到 3 个文件:
- hints.yaml
- images.tar
- original-chart
-
从本地加载镜像到 Docker 或 containerd。
Note
每个 node 都需要做 Docker 或 containerd 加载镜像操作, 加载完成后需要 tag 镜像,保持 Registry、Repository 与安装时一致。
升级¶
有两种升级方式。您可以根据前置操作,选择对应的升级方案:
Note
当从 v0.11.x (或更低版本) 升级到 v0.12.0 (或更高版本) 时,需要将 bak.yaml 中所有 keycloak key 修改为 keycloakx 。
这个 key 的修改示例:
修改为:
Note
当从 v0.15.x (或更低版本) 升级到 v0.16.0 (或更高版本) 时,需要修改数据库连接参数。
数据库连接参数的修改示例:
USER-SUPPLIED VALUES:
global:
database:
host: 127.0.0.1
port: 3306
apiserver:
dbname: ghippo
password: passowrd
user: ghippo
keycloakx:
dbname: keycloak
password: passowrd
user: keycloak
auditDatabase:
auditserver:
dbname: audit
password: passowrd
user: audit
host: 127.0.0.1
port: 3306
修改为:
USER-SUPPLIED VALUES:
global:
storage:
ghippo:
- driver: mysql
accessType: readwrite
dsn: {global.database.apiserver.user}:{global.database.apiserver.password}@tcp({global.database.host}:{global.database.port})/{global.database.apiserver.dbname}?charset=utf8mb4&multiStatements=true&parseTime=true
audit:
- driver: mysql
accessType: readwrite
dsn: {global.auditDatabase.auditserver.user}:{global.auditDatabase.auditserver.password}@tcp({global.auditDatabase.host}:{global.auditDatabase.port})/{global.auditDatabase.auditserver.dbname}?charset=utf8mb4&multiStatements=true&parseTime=true
keycloak:
- driver: mysql
accessType: readwrite
dsn: {global.database.keycloakx.user}:{global.database.keycloakx.password}@tcp({global.database.host}:{global.database.port})/{global.database.keycloakx.dbname}?charset=utf8mb4
-
检查全局管理 helm 仓库是否存在。
若返回结果为空或如下提示,则进行下一步;反之则跳过下一步。
-
添加全局管理的 helm 仓库。
-
更新全局管理的 helm 仓库。
- helm 版本过低会导致失败,若失败,请尝试执行 helm update repo
-
选择您想安装的全局管理版本(建议安装最新版本)。
-
备份
--set
参数。在升级全局管理版本之前,建议您执行如下命令,备份老版本的
--set
参数。 -
更新 ghippo crds
-
执行
helm upgrade
。升级前建议您覆盖 bak.yaml 中的 global.imageRegistry 字段为当前使用的镜像仓库地址。
-
备份
--set
参数。在升级全局管理版本之前,建议您执行如下命令,备份老版本的
--set
参数。 -
更新 ghippo crds
-
执行
helm upgrade
。升级前建议您覆盖 bak.yaml 中的 global.imageRegistry 为当前使用的镜像仓库地址。