升级到 KubeBlocks v0.8
本文档介绍如何从低版本 KubeBlocks 升级至 KubeBlocks 0.8 版本。
在升级前,请先执行 helm -n kb-system list | grep kubeblocks
查看正在使用的 KubeBlocks 版本,并根据不同版本,执行升级操作。
从 v0.7 升级
设置 keepAddons。
KubeBlocks v0.8 精简了默认安装的引擎,将引擎从 KubeBlocks operator 分离到了 KubeBlocks 引擎插件代码仓库中,例如 greptime,influxdb,neon,oracle-mysql,orioledb,tdengine,mariadb,nebula,risingwave,starrocks,tidb,zookeeper。为避免升级时将已经在使用的引擎资源删除,请先执行如下命令。
查看当前 KubeBlocks 版本。
helm -n kb-system list | grep kubeblocks
查看并添加引擎注解。
执行如下命令,查看引擎注解中是否添加了
"helm.sh/resource-policy": "keep"
。kubectl get addon -o json | jq '.items[] | {name: .metadata.name, annotations: .metadata.annotations}'
如果没有该注解,可以手动执行以下命令,为引擎添加注解。可以将
-l app.kubernetes.io/name=kubeblocks
替换为您所需的过滤条件。kubectl annotate addons.extensions.kubeblocks.io -l app.kubernetes.io/name=kubeblocks helm.sh/resource-policy=keep
安装 CRD。
为避免 KubeBlocks 的 Helm chart 过大,v0.8 版本将 CRD 从 Helm chart 中移除了,升级前需要先安装 CRD。
kubectl replace -f https://github.com/apecloud/kubeblocks/releases/download/v0.8.1/kubeblocks_crds.yaml
升级 KubeBlocks。
helm -n kb-system upgrade kubeblocks kubeblocks/kubeblocks --version 0.8.1 --set dataProtection.image.datasafed.tag=0.1.0
为避免影响已有的数据库集群,升级 KubeBlocks 至 v0.8 时,默认不会升级已经安装的引擎版本。如果要将引擎升级至 KubeBlocks v0.8 内置引擎的版本,可以执行如下命令。注意,该操作可能导致已有集群发生重启,影响可用性,请务必谨慎操作。
helm -n kb-system upgrade kubeblocks kubeblocks/kubeblocks --version 0.8.1 --set upgradeAddons=true
FAQ
可查看 FAQ,了解并解决升级 KubeBlocks 过程中的常见问题。如果您还遇到了其他问题,可以提交 issue 或者在 GitHub 讨论区提交您的问题。