当前位置:网站首页>升级 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
- NFT smart contract release, blind box, public offering technology practice -- contract
- Type of data in energy dashboard
- WebRTC系列-H.264预估码率计算
- 上线APS系统,破除物料采购计划与生产实际脱钩的难题
- 861. Score after flipping the matrix
- 数据治理:主数据的3特征、4超越和3二八原则
- Epoll and IO multiplexing of redis
- 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
- Mex related learning
猜你喜欢
数据治理:主数据的3特征、4超越和3二八原则
A Closer Look at How Fine-tuning Changes BERT
Risk planning and identification of Oracle project management system
ROS learning (IX): referencing custom message types in header files
Parameter self-tuning of relay feedback PID controller
解决方案:智慧工地智能巡檢方案視頻監控系統
Uibehavior, a comprehensive exploration of ugui source code
Codeforces Global Round 19(A~D)
"Designer universe": "benefit dimension" APEC public welfare + 2022 the latest slogan and the new platform will be launched soon | Asia Pacific Financial Media
Database basic commands
随机推荐
Nc204382 medium sequence
NFT smart contract release, blind box, public offering technology practice -- jigsaw puzzle
Easy to use tcp-udp_ Debug tool download and use
指针和数组笔试题解析
08- [istio] istio gateway, virtual service and the relationship between them
Webrtc series-h.264 estimated bit rate calculation
Machine learning - decision tree
Nft智能合约发行,盲盒,公开发售技术实战--合约篇
07- [istio] istio destinationrule (purpose rule)
flask返回文件下载
MySQL view tablespace and create table statements
Transformer principle and code elaboration
1204 character deletion operation (2)
Common functions for PHP to process strings
Solution: intelligent site intelligent inspection scheme video monitoring system
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
Hackathon ifm
实现精细化生产, MES、APS、ERP必不可少
[cf gym101196-i] waif until dark network maximum flow
ROS learning (IX): referencing custom message types in header files