Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

参考文档:

https://www.cnblogs.com/hsyw/p/16794825.html官方文档:https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/get-started#%E7%AC%AC-2-%E6%AD%A5%E9%83%A8%E7%BD%B2-tidb-operator

安装crd资源:(本文档以最新的1.6.0为例)

Code Block
kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.6.0/manifests/crd.yaml
##或者我的地址: 
https://zhengyu1992.cn/file/deploy/db/tidb/1.tidb-crd.yaml

添加helm仓库,需要提前安装helm

Code Block
helm repo add pingcap https://charts.pingcap.org

自定义安装operator

查看当前helm仓库中tidb的版本

Code Block
helm search repo -l tidb-operator

Image Added

推荐安装最新版本,例如:v1.6.0

创建tidb命名空间

Code Block
kubectl create namespace tidb

将helm安装文件模板化到本地yaml

Code Block
helm template tidb-operator pingcap/tidb-operator \
    --version 1.6.0 \
    --namespace tidb > tidb-operator.yaml

注意事项:

1.如果k8s集群大于1.9.0就不需要额外部署tidb-scheduler,在部署 TiDB Operator 过程中,可以通过在 values.yaml 文件中配置 scheduler.create: false 不部署 tidb-scheduler

2.TiDB Operator 默认会管理 Kubernetes 集群中的所有 TiDB 集群,如仅需其管理特定 namespace 下的集群,则可在 values.yaml 中设置 clusterScoped: false

3.调整副本数和资源限制,如下图

Image Added

4.镜像拉取问题,下面三个镜像可以提前拉取后tag为其它名称,并修改values.yaml文件中的镜像地址




Code Block
pingcap/tidb-operator:v1.6.0
pingcap/tidb-backup-manager:v1.6.0
pingcap/advanced-statefulset:v0.4.0


如下操作实例,利用本地harbor


Code Block
docker pull pingcap/tidb-operator:v1.6.0
docker pull pingcap/tidb-backup-manager:v1.6.0
docker pull pingcap/advanced-statefulset:v0.4.0

docker tag pingcap/tidb-operator:v1.6.0 harbor.uenpay.com/base/tidb-operator:v1.6.0
docker tag pingcap/tidb-backup-manager:v1.6.0 harbor.uenpay.com/base/tidb-backup-manager:v1.6.0
docker tag pingcap/advanced-statefulset:v0.4.0 harbor.uenpay.com/base/advanced-statefulset:v0.4.0

docker push harbor.uenpay.com/base/tidb-operator:v1.6.0
docker push harbor.uenpay.com/base/tidb-backup-manager:v1.6.0
docker push harbor.uenpay.com/base/advanced-statefulset:v0.4.0

将tidb-operator.yaml中的镜像地址改成本地的镜像地址后安装tidb-operator

Code Block
sed -i 's#pingcap/#harbor.uenpay.com/base/#g' tidb-operator.yaml
kubectl apply -f tidb-operator.yaml

查看operator启动情况

Code Block
kubectl -n tidb get pods -l app.kubernetes.io/instance=tidb-operator

Image Added

后续升级只需要在模板化yaml文件时候修改版本就行了

假如升级到1.6.1

Code Block
helm template tidb-operator pingcap/tidb-operator \
    --version 1.6.1 \
    --namespace tidb > tidb-operator.yaml
kubectl apply -f tidb-operator.yaml