升级 TiDB Operator
本文介绍如何升级 TiDB Operator。
在线升级步骤
更新 Kubernetes 的 CustomResourceDefinition (CRD)。关于 CRD 的更多信息,请参阅 CustomResourceDefinition。
kubectl apply -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.15/manifests/crd.yaml && \ kubectl get crd tidbclusters.pingcap.com获取你要升级的
tidb-operator
chart 中的values.yaml
文件:mkdir -p ${HOME}/tidb-operator/v1.1.15 && \ helm inspect values pingcap/tidb-operator --version=v1.1.15 > ${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml -n tidb-admin修改
${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml
中operatorImage
镜像版本为要升级到的版本,并将旧版本values.yaml
中的自定义配置合并到${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml
,然后执行helm upgrade
:helm upgrade tidb-operator pingcap/tidb-operator --version=v1.1.15 -f ${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yamlPod 全部正常启动之后,运行以下命令确认 TiDB Operator 镜像版本:
kubectl get po -n tidb-admin -l app.kubernetes.io/instance=tidb-operator -o yaml | grep 'image:.*operator:'输出类似下方结果则表示升级成功,
v1.1.15
表示要升级到的版本号。image: pingcap/tidb-operator:v1.1.15 image: docker.io/pingcap/tidb-operator:v1.1.15 image: pingcap/tidb-operator:v1.1.15 image: docker.io/pingcap/tidb-operator:v1.1.15
离线升级步骤
如果服务器没有连接外网,你可以按照以下步骤离线升级 TiDB Operator:
使用有外网的机器下载升级所需的文件和镜像。
下载 TiDB Operator 需要的
crd.yaml
文件。关于 CRD 的更多信息,请参阅 CustomResourceDefinition。wget https://raw.githubusercontent.com/pingcap/tidb-operator/v1.1.15/manifests/crd.yaml下载
tidb-operator
chart 包文件:wget http://charts.pingcap.org/tidb-operator-v1.1.15.tgz下载 TiDB Operator 升级所需的 Docker 镜像:
docker pull pingcap/tidb-operator:v1.1.15 docker pull pingcap/tidb-backup-manager:v1.1.15 docker save -o tidb-operator-v1.1.15.tar pingcap/tidb-operator:v1.1.15 docker save -o tidb-backup-manager-v1.1.15.tar pingcap/tidb-backup-manager:v1.1.15
将下载的文件和镜像上传到需要升级的服务器上,然后按照以下步骤进行安装:
安装 TiDB Operator 需要的
crd.yaml
文件:kubectl apply -f ./crd.yaml解压
tidb-operator
chart 包文件,并拷贝values.yaml
文件:tar zxvf tidb-operator-v1.1.15.tgz && \ mkdir -p ${HOME}/tidb-operator/v1.1.15 && \ cp tidb-operator/values.yaml ${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml安装 Docker 镜像到服务器上:
docker load -i tidb-operator-v1.1.15.tar docker load -i tidb-backup-manager-v1.1.15.tar
修改
${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml
中operatorImage
镜像版本为要升级到的版本,并将旧版本values.yaml
中的自定义配置合并到${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yaml
,然后执行helm upgrade
:helm upgrade tidb-operator ./tidb-operator --version=v1.1.15 -f ${HOME}/tidb-operator/v1.1.15/values-tidb-operator.yamlPod 全部正常启动之后,运行以下命令确认 TiDB Operator 镜像版本:
kubectl get po -n tidb-admin -l app.kubernetes.io/instance=tidb-operator -o yaml | grep 'image:.*operator:'输出类似下方结果则表示升级成功,
v1.1.15
表示要升级到的版本号。image: pingcap/tidb-operator:v1.1.15 image: docker.io/pingcap/tidb-operator:v1.1.15 image: pingcap/tidb-operator:v1.1.15 image: docker.io/pingcap/tidb-operator:v1.1.15
从 TiDB Operator v1.0 版本升级到 v1.1 及之后版本
从 TiDB Operator v1.1.0 开始,PingCAP 不再继续更新维护 tidb-cluster chart,原来由 tidb-cluster chart 负责管理的组件或者功能在 v1.1 中切换到 CR (Custom Resource) 或者单独的 chart 进行管理,详细信息请参考 TiDB Operator v1.1 重要注意事项。