当前位置:网站首页>升级 TiDB Operator
升级 TiDB Operator
2022-07-06 07:58:00 【添香小铺】
本文介绍如何升级 TiDB Operator 到指定版本。你可以选择在线升级或离线升级。
升级注意事项
如果使用 v1.3.0-beta.1 及更早版本的 TiDB Operator 跨 Kubernetes 集群部署 TiDB 集群,直接升级 TiDB Operator 会导致集群滚动更新并进入异常状态。如果从更早版本升级 TiDB Operator 到 v1.3,你需要执行以下操作:
- 更新 CRD。
- 修改 TidbCluster 定义将
spec.acrossK8s
字段设置为true
。 - 升级 TiDB Operator。
弃用 Pod
ValidatingWebhook
和MutatingWebhook
。如果使用 v1.2 及更早版本的 TiDB Operator 在集群部署了 Webhook,并启用了 PodValidatingWebhook
和MutatingWebhook
,升级 TiDB Operator 到 v1.3.0-beta.1 及之后版本,PodValidatingWebhook
和MutatingWebhook
被删除,但这不会对 TiDB 集群管理产生影响,也不会影响正在运行的 TiDB 集群。
在线升级
如果服务器可以访问外网,你可以按照以下步骤在线升级 TiDB Operator:
升级 TiDB Operator 前,确保 Helm repo 包含你需要升级的 TiDB Operator 版本。通过以下命令查看 Helm repo 包含的 TiDB Operator 版本:
helm search repo -l tidb-operator
如果输出中未包含你需要的新版本,可以使用
helm repo update
命令更新 repo。详情请参考配置 Helm repo。更新 Kubernetes 的 CustomResourceDefinition (CRD)。关于 CRD 的更多信息,请参阅 CustomResourceDefinition。
如果 Kubernetes 版本大于等于 1.16:
如果 TiDB Operator 从 v1.2.x 及更早版本升级到 v1.3.x 及以后版本,需要先执行下面命令创建新增加的 TidbNGMonitoring CRD。如果是 v1.3.x 及以后版本的 TiDB Operator 升级,可跳过这一步。
kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd/v1/pingcap.com_tidbngmonitorings.yaml
更新 CRD。
kubectl replace -f https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd.yaml && \ kubectl get crd tidbclusters.pingcap.com
如果 Kubernetes 版本小于 1.16:
如果 TiDB Operator 从 v1.2.x 及更早版本升级到 v1.3.x 及以后版本,需要先执行下面命令创建新增加的 TidbNGMonitoring CRD。如果是 v1.3.x 及以后版本的 TiDB Operator 升级,可跳过这一步。
kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd/v1beta1/pingcap.com_tidbngmonitorings.yaml
更新 CRD。
kubectl replace -f https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd_v1beta1.yaml && \ kubectl get crd tidbclusters.pingcap.com
本文以 TiDB Operator v1.3.5 为例,你需要替换
${operator_version}
为你要升级到的 TiDB Operator 版本。获取你要升级的
tidb-operator
chart 中的values.yaml
文件:mkdir -p ${HOME}/tidb-operator/v1.3.5 && \ helm inspect values pingcap/tidb-operator --version=v1.3.5 > ${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
修改
${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
中operatorImage
镜像版本为要升级到的版本。如果你在旧版本
values.yaml
中设置了自定义配置,将自定义配置合并到${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
中。执行升级:
helm upgrade tidb-operator pingcap/tidb-operator --version=v1.3.5 -f ${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
Pod 全部正常启动之后,运行以下命令确认 TiDB Operator 镜像版本:
kubectl get po -n tidb-admin -l app.kubernetes.io/instance=tidb-operator -o yaml | grep 'image:.*operator:'
如果输出类似下方的结果,则表示升级成功。其中,
v1.3.5
表示已升级到的版本号。image: pingcap/tidb-operator:v1.3.5 image: docker.io/pingcap/tidb-operator:v1.3.5 image: pingcap/tidb-operator:v1.3.5 image: docker.io/pingcap/tidb-operator:v1.3.5
注意
TiDB Operator 升级之后,所有 TiDB 集群中的
discovery
Deployment 都会自动升级到对应的 TiDB Operator 版本。
离线升级
如果服务器没有连接外网,你可以按照以下步骤离线升级 TiDB Operator:
使用有外网的机器,下载升级所需的文件和镜像。
下载 TiDB Operator 需要的
crd.yaml
文件。关于 CRD 的更多信息,请参阅 CustomResourceDefinition。如果 Kubernetes 版本大于等于 1.16:
wget -O crd.yaml https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd.yaml
如果 Kubernetes 版本小于 1.16:
wget -O crd.yaml https://raw.githubusercontent.com/pingcap/tidb-operator/${operator_version}/manifests/crd_v1beta1.yaml
本文以 TiDB Operator v1.3.5 为例,你需要替换
${operator_version}
为你要升级到的 TiDB Operator 版本。下载
tidb-operator
chart 包文件:wget http://charts.pingcap.org/tidb-operator-v1.3.5.tgz
下载 TiDB Operator 升级所需的 Docker 镜像:
docker pull pingcap/tidb-operator:v1.3.5 docker pull pingcap/tidb-backup-manager:v1.3.5 docker save -o tidb-operator-v1.3.5.tar pingcap/tidb-operator:v1.3.5 docker save -o tidb-backup-manager-v1.3.5.tar pingcap/tidb-backup-manager:v1.3.5
将下载的文件和镜像上传到需要升级的服务器上,在服务器上按照以下步骤进行安装:
如果 TiDB Operator 从 v1.2.x 及更早版本升级到 v1.3.x 及以后版本,需要先执行下面命令创建新增加的 TidbNGMonitoring CRD。如果是 v1.3.x 及以后版本的 TiDB Operator 升级,可跳过这一步。
kubectl create -f ./crd.yaml
对于其他 CRD,执行该命令时会报 "AlreadyExists" 的错误,可以忽略该错误。
升级 TiDB Operator 需要的
crd.yaml
文件:kubectl replace -f ./crd.yaml
解压
tidb-operator
chart 包文件,并拷贝values.yaml
文件到升级目录:tar zxvf tidb-operator-v1.3.5.tgz && \ mkdir -p ${HOME}/tidb-operator/v1.3.5 && \ cp tidb-operator/values.yaml ${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
安装 Docker 镜像到服务器上:
docker load -i tidb-operator-v1.3.5.tar && \ docker load -i tidb-backup-manager-v1.3.5.tar
修改
${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
中operatorImage
镜像版本为要升级到的版本。如果你在旧版本
values.yaml
中设置了自定义配置,将自定义配置合并到${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
中。执行升级:
helm upgrade tidb-operator ./tidb-operator --version=v1.3.5 -f ${HOME}/tidb-operator/v1.3.5/values-tidb-operator.yaml
Pod 全部正常启动之后,运行以下命令确认 TiDB Operator 镜像版本:
kubectl get po -n tidb-admin -l app.kubernetes.io/instance=tidb-operator -o yaml | grep 'image:.*operator:'
如果输出类似下方的结果,则表示升级成功。其中,
v1.3.5
表示已升级到的版本号。image: pingcap/tidb-operator:v1.3.5 image: docker.io/pingcap/tidb-operator:v1.3.5 image: pingcap/tidb-operator:v1.3.5 image: docker.io/pingcap/tidb-operator:v1.3.5
注意
TiDB Operator 升级之后,所有 TiDB 集群中的
discovery
Deployment 都会自动升级到对应的 TiDB Operator 版本。
边栏推荐
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Description of octomap averagenodecolor function
- Nft智能合约发行,盲盒,公开发售技术实战--合约篇
- The Vice Minister of the Ministry of industry and information technology of "APEC industry +" of the national economic and information technology center led a team to Sichuan to investigate the operat
- 24. Query table data (basic)
- 【Redis】NoSQL数据库和redis简介
- Data governance: data quality
- A Closer Look at How Fine-tuning Changes BERT
- 【T31ZL智能视频应用处理器资料】
- Sanzi chess (C language)
猜你喜欢
[count] [combined number] value series
opencv学习笔记八--答题卡识别
Parameter self-tuning of relay feedback PID controller
Compliance and efficiency, accelerate the digital transformation of pharmaceutical enterprises, and create a new document resource center for pharmaceutical enterprises
22. Empty the table
[untitled]
[非线性控制理论]9_非线性控制理论串讲
24. Query table data (basic)
Go learning notes (3) basic types and statements (2)
你想知道的ArrayList知识都在这
随机推荐
. Net 6 learning notes: what is NET Core
Wireshark grabs packets to understand its word TCP segment
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Asia Pacific Financial Media | designer universe | Guangdong responds to the opinions of the national development and Reform Commission. Primary school students incarnate as small community designers
Data governance: data quality
Description of octomap averagenodecolor function
Data governance: Data Governance under microservice architecture
C语言自定义类型:结构体
Sanzi chess (C language)
Linked list interview questions (Graphic explanation)
"Designer universe": "benefit dimension" APEC public welfare + 2022 the latest slogan and the new platform will be launched soon | Asia Pacific Financial Media
Wonderful use of TS type gymnastics string
07- [istio] istio destinationrule (purpose rule)
Parameter self-tuning of relay feedback PID controller
Easy to use tcp-udp_ Debug tool download and use
Inspiration from the recruitment of bioinformatics analysts in the Department of laboratory medicine, Zhujiang Hospital, Southern Medical University
File upload of DVWA range
Webrtc series-h.264 estimated bit rate calculation
"Designer universe" APEC design +: the list of winners of the Paris Design Award in France was recently announced. The winners of "Changsha world center Damei mansion" were awarded by the national eco
珠海金山面试复盘