# 升级
本文将为您介绍如何基于 Helm Chart 升级版本。
提示
v1.0.x 版本不支持升级。
# 升级准备
开始 Erda 升级前,您需要完成如下准备:
数据备份
建议您在升级前对 Erda 使用的 MySQL 数据库进行备份,以防升级失败造成数据丢失。
准备私有化配置参数或文件
更新 Erda Helm Chart 仓库
helm repo add erda https://charts.erda.cloud/erda helm repo update
部分版本升级需涉及额外操作,请提前确认
- [1.4.0 以下版本升级](upgrade.md#1.4.0 以下版本升级)
# 升级 Erda
# 标准升级
提示
- 您需要提供 Erda 所部署的 Namespace,例如 erda-system。
- 您可以通过
--version
参数升级至指定版本的 Erda,未指定则默认升级至最新版本。
使用指定私有化配置文件升级 Erda,例如
custom_values.yaml
。helm upgrade erda erda/erda -f custom_values.yaml -n erda-system
使用私有化配置参数升级 Erda,建议通过 私有配置文件的方式 管理配置。
helm upgrade erda erda/erda --set param1=value1,param2=value2.... -n erda-system
# 1.4.0 以下版本升级
1.4.0 版本已完成集群管控及监控链路认证优化,需执行如下操作进行适配。
升级 Master 集群
配置当前 Erda 所在的 Namespace,例如 erda-system。
export ERDA_NAMESPACE="erda-system"
升级前在集群中执行如下命令,创建默认 Secret。
kubectl create secret generic erda-cluster-credential --from-literal=CLUSTER_ACCESS_KEY="init" -n $ERDA_NAMESPACE
执行 标准升级 流程。
完成 Erda 升级后,进入 多云管理平台 > 集群资源 > 集群 > 操作 > Token 管理 > 创建 Token,申请 Master 集群的管控凭证。
执行如下命令以替换默认凭证。
# 请填写申请的管控凭证 export CLUSTER_ACCESS_KEY=""
sh -c "kubectl patch secret -n $ERDA_NAMESPACE erda-cluster-credential --type='json' -p='[{"op" : "replace" ,"path" : "/data/CLUSTER_ACCESS_KEY" ,"value" : $(echo $CLUSTER_ACCESS_KEY | base64)}]'"
升级 Worker 集群
下载 Erda 1.4.0 及以上版本 压缩包 (opens new window) 并解压。
确认可通过 kubectl 访问 Worker 集群,且已安装 Helm 3,具体请参见 准备工作。
进入 多云管理平台 > 集群资源 > 集群 > 操作 > Token 管理 > 创建 Token,申请 Worker 集群的管控凭证。
执行如下命令,并根据提示完成边缘集群升级。
# 请填写申请的管控凭证 bash erda-release/erda-helm/scripts/upgrade_1.4.sh --cluster_access_key=""
# 升级验证
完成 Erda 升级后,您可以通过以下方式查看升级是否成功。
查看 Erda 自定义资源状态是否为
Running
。kubectl get erda erda -n erda-system
查看当前集群版本是否与目标版本一致。
kubectl get cm dice-cluster-info -o yaml -n erda-system | grep -i dice_version