安装crd资源:(本文档以最新的1.6.0为例)
kubectl create -f https://raw.githubusercontent.com/pingcap/tidb-operator/v1.6.0/manifests/crd.yaml ##或者我的地址: kubectl create -f https://zhengyu1992.cn/file/deploy/mid/tidb-operator/crd.yaml
添加helm仓库,需要提前安装helm
helm repo add pingcap https://charts.pingcap.org
自定义安装operator
查看当前helm仓库中tidb的版本
helm search repo -l tidb-operator
导出value文件到本地自行修改
helm inspect values pingcap/tidb-operator --version=1.6.0 > values-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.调整副本数和资源限制,如下图
4.镜像拉取问题,下面三个镜像可以提前拉取后tag为其它名称,并修改values.yaml文件中的镜像地址
pingcap/tidb-operator:v1.6.0
pingcap/tidb-backup-manager:v1.6.0
pingcap/advanced-statefulset:v0.4.0
如下操作实例,利用本地harbor
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
kubectl create ns tidb-admin helm install tidb-operator pingcap/tidb-operator --version=1.6.0 -f values-tidb-operator.yaml -n tidb-admin
查看operator启动情况
kubectl get pods -n tidb-admin -l app.kubernetes.io/instance=tidb-operator
修改values.yaml后再次helm执行需要把install换成upgrade就行了
helm upgrade tidb-operator pingcap/tidb-operator --version=1.6.0 -f values-tidb-operator.yaml -n tidb-admin