Skip to content

Instantly share code, notes, and snippets.

@focusj
Last active February 20, 2019 12:35
Show Gist options
  • Save focusj/b04ac01612309c4c305e4749b5cb1b4f to your computer and use it in GitHub Desktop.
Save focusj/b04ac01612309c4c305e4749b5cb1b4f to your computer and use it in GitHub Desktop.
tioper文档

tioper简介

tioper名字由来:TiDB + Operator。使用tioper可以实现TiDB多集群创建和管理。 如果本机装有Docker,还可以使用tioper在本地启动一个kubernetes集群,方便尝鲜。

tioper正确运行需要依赖以下软件,请确保本机已经安装,且符合最低版本要求:

  • Docker: 17.03 or later
  • Helm Client: 2.9.0 or later
  • Kubectl: 1.10 or later

tioper使用文档

tioper提供了以下命令:

  • create: 创建一个TiDB集群

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh create
::Create new TiDB cluster
cluster name:demo
instances of pd (default is 3):3
instances of tidb: (default is 2)2
instances of tikv: (default is 3)3
::Creating a new TiDB cluster: demo with conf: { pds: 3, tidbs: 2, tikvs: 3}
....
::Wait TiDB Cluster to get Ready, this will take some time.
....................................................................................done.
::TiDB Custer: demo is up, You can have a try following these setp:
 - kubectl port-forward -n ti-cluster-demo svc/demo-tidb 4000:4000 > /dev/null &
 - mysql -h 127.0.0.1 -P 4000 -u root -D test -p 'cefvlDpTk0'

这是一次完整的创建过程日志输出(忽略了部分不重要的日志),启动完成后我们需要执行kubectl port-forward 实现网络转发(后续会为每一个cluster分配一个域名),然后即可使用MySQL client链接并进行测试。

  • list: 获取当前服务器上所有的TiDB集群

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh list
::Show all TiDB cluster
demo
  • scale: 调整某个集群服务实例数

tidb主要由三个模块构成:pd,tikv,tidb,可根据需求调整其数量(线上服务参考tidb最佳配置)。

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh scale
::Scale TiDB cluster
cluster name:demo
scale pd to:1
scale tidb to:1
scale tikv to:1
::Scaling TiDB cluster: demo to { pds: 1, tidbs: 1, tikvs: 1}
  • shutdown: 按名称关闭集群,但不删除其已写入的数据

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh shutdown
::Shutdown a TiDB cluster
cluster name:demo
  • delete: 按名称关闭集群,且删除其已写入的数据

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh delete
::Delete a TiDB cluster
cluster name:demo
  • rolling-update: 升级指定名称集群的tidb版本(zero downtime)

升级过程会把pd,tikv,tidb三个组件全部升级,防止各个组件之间的版本兼容性问题。

示例:

➜  tidb-installer git:(master) ✗ ./tioper.sh rolling-update
::Rolling update TiDB cluster with 0 downtime.
cluster name:demo
tidb version:v2.1.4
Release "ti-cluster-demo" has been upgraded. Happy Helming!
  • prepare: 本地启动一个kubernetes集群

基于docker和dind启动一个本地kubernetes集群。

  • restore: 清除所有的操作(删除所有的tidb cluster),关闭kubernetes集群。

执行该操作会删掉所有的执行痕迹,包括数据。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment