--force
是必要的,原因是问题 #30。升级使用 Helm 部署的 Harbor
本指南用于升级 0.3.0 版本之后通过 Chart 部署的 Harbor。
注意
- 由于 Harbor 不同版本之间的数据库 Schema 可能会发生变化,因此在升级过程中会进行 Schema 迁移,停机时间不可避免
- 数据库 Schema 无法自动降级,因此不支持
helm rollback
命令
升级
1. 备份数据库
备份 Harbor 使用的数据库,以防止升级过程失败。
2. 下载新 Chart
下载最新版本的 Harbor Chart。
3. 配置新 Chart
配置新的 Chart,确保配置项与旧 Chart 具有相同的值。
注意:如果启用了 TLS 并且证书是由 Chart 自动生成的,则升级期间将生成新证书并覆盖旧证书,如果您已分发该证书,这可能会导致一些问题。您可以按照以下步骤配置新 Chart 以使用旧证书
-
获取存储证书的 Secret 名称
kubectl get secret
查找名称以
-harbor-ingress
(通过Ingress
暴露服务) 或-harbor-nginx
(通过ClusterIP
或NodePort
暴露服务) 结尾的 Secret -
将 Secret 导出为 yaml 文件
kubectl get secret <secret-name-from-step-1> -o yaml > secret.yaml
-
通过在
secret.yaml
中设置metadata.name
来重命名 Secret -
创建新的 Secret
kubectl create -f secret.yaml
-
配置 Chart 以使用新的 Secret,通过将
expose.tls.secretName
设置为您在步骤 3 中设置的值
4. 升级
运行升级命令
helm upgrade release-name --force .
如果从 0.3.0 版本升级,则
已知问题
- 如果您从 0.3.0 版本升级,Job 日志将会丢失,因为日志存储在 0.3.0 版本的
emptyDir
中。
在本页中
贡献