概述
tidb是一个分布式的数据库,tidb-operator可以让tidb跑在k8s集群上面。
本文主要验证tidb使用local pv方式部署在k8s集群上面。
安装
实验环境的k8s环境共有三个节点
1 | [root@kube01 ~]# kubectl get nodes |
tidb安装过程中需要用到6个pv,pd需要用到3个1G的pv,tikv需要用到3个10G的pv。
环境中有一块20G的空闲磁盘vdc,我们把vdc分成两个分区,一个2G,一个18G。
1 | [root@kube01 ~]# sgdisk -n 1:0:+2G /dev/vdc |
tidb-operator默认会把挂载在/mnt/disks/vol$i 的分区作为一个PV,所以把我们vdc1和vdc2这两个分区挂载在vol0和vol1下。
tidb推荐使用ext4文件系统
1 | mkfs.ext4 /dev/vdc1 |
通过tidb-opertor提供的local-volumen-provisioner可以把前面的分区变成local pv
1 | [root@kube01 local-dind]# kubectl apply -f local-volume-provisioner.yaml |
通过helm安装tidb-operator
需要修改charts/tidb-operator/values.yaml文件中
kubeSchedulerImage: gcr.io/google-containers/hyperkube:v1.13.4
镜像的版本和kubelet的版本一致。
1 |
|
通过helm安装tidb-cluster
1 |
|
通过mysql client进行验证
1 | [root@kube01 tidb-operator]# kubectl port-forward svc/demo-tidb 4000:4000 --namespace=tidb |