当前位置:网站首页>Grayscale upgrade tidb operator
Grayscale upgrade tidb operator
2022-07-06 08:02:00 【Tianxiang shop】
If you want to upgrade TiDB Operator To the latest version , At the same time, I hope to control the impact of the upgrade , Avoid damage to the whole Kubernetes All in the cluster TiDB Clusters have unpredictable effects , It can be upgraded by grayscale upgrading TiDB Operator. After using grayscale upgrade , You can confirm in the grayscale deployment cluster TiDB Operator The impact of the upgrade , Upon confirmation of TiDB Operator After the new version works stably , Again Normal upgrade TiDB Operator.
TiDB Operator Currently, only some components can be grayed out , namely tidb-controller-manager and tidb-scheduler, No support for Enhanced StatefulSet controller and Access controller Grayscale upgrade .
In the use of TiDB Operator when ,tidb-scheduler
It's not necessary to use . You can refer to tidb-scheduler And default-scheduler, Confirm whether to deploy tidb-scheduler
.
The first 1 Step : For the current TiDB Operator To configure selector And perform the upgrade
At present TiDB Operator Of values.yaml
in , Add the following selector To configure :
controllerManager: selector: - version!=canary
Reference resources Online upgrade or Offline upgrade , For the current TiDB Operator Perform the upgrade steps :
helm upgrade tidb-operator pingcap/tidb-operator --version=${chart_version} -f ${HOME}/tidb-operator/values-tidb-operator.yaml
The first 2 Step : Deploy grayscale TiDB Operator
Reference resources Online deployment TiDB Operator Of the 1 And the first step 2 Step , Get the grayscale version you want to deploy TiDB Operator Of
values.yaml
file , And invalues.yaml
Add the following configuration .controllerManager: selector: - version=canary appendReleaseSuffix: true #scheduler: # create: false # If you don't need to `tidb-scheduler`, Set this value to false advancedStatefulset: create: false admissionWebhook: create: false
appendReleaseSuffix
I need to set totrue
.If you don't need grayscale upgrade tidb-scheduler, You can set
scheduler.create: false
. If you need a grayscale upgrade tidb-scheduler, To configurescheduler.create: true
, Will create a file named{ { .scheduler.schedulerName }}-{ {.Release.Name}}
Of scheduler. If you want to deploy in grayscale TiDB Operator Use this scheduler, Need configuration TidbCluster CR Mediumspec.schedulerName
For this scheduler Name .Because grayscale upgrade does not support enhanced StatefulSet Controller and access controller , You have to configure
advancedStatefulset.create: false
andadmissionWebhook.create: false
.For more information about the parameters related to gray-scale deployment , May refer to Use multiple sets TiDB Operator Manage different TiDB colony - Related parameters .
stay Different namespace in ( for example
tidb-admin-canary
), Use Different Helm Release Name( for examplehelm install tidb-operator-canary ...
) Deploy grayscale TiDB Operator:helm install tidb-operator-canary pingcap/tidb-operator --namespace=tidb-admin-canary --version=${operator_version} -f ${HOME}/tidb-operator/${operator_version}/values-tidb-operator.yaml
take
${operator_version}
Replace with the one you need to upgrade to TiDB Operator Version number .
The first 3 Step : Test grayscale TiDB Operator ( Optional )
Upgrade normally TiDB Operator front , Gray scale deployment can be tested TiDB Operator Whether it works stably . The components that support testing are tidb-controller-manager and tidb-scheduler.
If you need to test grayscale deployment tidb-controller-manager, This can be done by the following command , For a TiDB Cluster settings label:
kubectl -n ${namespace} label tc ${cluster_name} version=canary
By viewing the two deployed tidb-controller-manager Log , You can confirm this setting label Of TiDB Clusters have been deployed by grayscale TiDB Operator management . The steps to view the log are as follows :
View the current TiDB Operator Of tidb-controller-manager Log :
kubectl -n tidb-admin logs tidb-controller-manager-55b887bdc9-lzdwv
The expected output is as follows :
I0305 07:52:04.558973 1 tidb_cluster_controller.go:148] TidbCluster has been deleted tidb-cluster-1/basic1
View grayscale deployment TiDB Operator Of tidb-controller-manager Log :
kubectl -n tidb-admin-canary logs tidb-controller-manager-canary-6dcb9bdd95-qf4qr
The expected output is as follows :
I0113 03:38:43.859387 1 tidbcluster_control.go:69] TidbCluster: [tidb-cluster-1/basic1] updated successfully
If you need to test grayscale deployment tidb-scheduler, This can be done by the following command , For a TiDB Cluster modification
spec.schedulerName
bytidb-scheduler-canary
:kubectl -n ${namespace} edit tc ${cluster_name}
After modification , Components in the cluster will be upgraded in a rolling manner , By viewing the grayscale deployment TiDB Operator Of
tidb-scheduler
Log , You can confirm that the cluster has used grayscaletidb-scheduler
:kubectl -n tidb-admin-canary logs tidb-scheduler-canary-7f7b6c7c6-j5p2j -c tidb-scheduler
After the test is completed , You can undo the changes in the previous two steps , Reuse the current TiDB Operator To manage TiDB colony .
kubectl -n ${namespace} label tc ${cluster_name} version-
kubectl -n ${namespace} edit tc ${cluster_name}
The first 4 Step : Normal upgrade TiDB Operator
Confirm the grayscale deployment TiDB Operator After normal operation , It can be upgraded normally TiDB Operator.
Delete grayscale deployment TiDB Operator:
helm -n tidb-admin-canary uninstall ${release_name}
normal upgrade TiDB Operator.
边栏推荐
- [t31zl intelligent video application processor data]
- What are the ways to download network pictures with PHP
- Data governance: misunderstanding sorting
- Transformer principle and code elaboration
- JS select all and tab bar switching, simple comments
- National economic information center "APEC industry +": economic data released at the night of the Spring Festival | observation of stable strategy industry fund
- [Yugong series] February 2022 U3D full stack class 010 prefabricated parts
- 649. Dota2 Senate
- From monomer structure to microservice architecture, introduction to microservices
- [factorial inverse], [linear inverse], [combinatorial counting] Niu Mei's mathematical problems
猜你喜欢
DataX self check error /datax/plugin/reader/_ drdsreader/plugin. Json] does not exist
Chinese Remainder Theorem (Sun Tzu theorem) principle and template code
"Friendship and righteousness" of the center for national economy and information technology: China's friendship wine - the "unparalleled loyalty and righteousness" of the solidarity group released th
MEX有关的学习
C语言自定义类型:结构体
ROS learning (IX): referencing custom message types in header files
Hcip day 16
【T31ZL智能视频应用处理器资料】
22. Empty the table
Go learning notes (3) basic types and statements (2)
随机推荐
Yu Xia looks at win system kernel -- message mechanism
"Designer universe": "benefit dimension" APEC public welfare + 2022 the latest slogan and the new platform will be launched soon | Asia Pacific Financial Media
Oracle time display adjustment
JS select all and tab bar switching, simple comments
Data governance: Data Governance under microservice architecture
07- [istio] istio destinationrule (purpose rule)
hcip--mpls
WebRTC系列-H.264预估码率计算
Redis list detailed explanation of character types yyds dry goods inventory
Easy to use tcp-udp_ Debug tool download and use
Solution: système de surveillance vidéo intelligent de patrouille sur le chantier
Notes on software development
ESP系列引脚说明图汇总
Launch APS system to break the problem of decoupling material procurement plan from production practice
"Friendship and righteousness" of the center for national economy and information technology: China's friendship wine - the "unparalleled loyalty and righteousness" of the solidarity group released th
数据治理:微服务架构下的数据治理
matplotlib. Widgets are easy to use
Type of data in energy dashboard
Golang DNS 随便写写
onie支持pice硬盘