k8s安装tidb
要求集群中最少有3个结点
如果是用Rancher管理的集群,需要修改集群配置
需要到集群->升级->编辑yaml下,找到“ services:”,在其中为kubelet增加参数,如下:
kubelet:
extra_binds:
- "/mnt/disks:/mnt/disks"
如果遗漏这一步,后面启动docker的时候会报如下错误:
Warning FailedMount 2s (x6 over 17s) kubelet, node199 MountVolume.NewMounter initialization failed for volume "local-pv-celc07ca" : path "/mnt/ssd/tidb_vol1" does not exist
挂载分区
tidb使用local-static-provisioner 项目中的 local-volume-provisioner 程序创建本地存储对象,默认情况下,mount到/mnt/disks目录下的数据卷,将会被local-volume-provisioner自动识别为pv。而且,由于tidb的pod至少包含tikv、pd两个docker都要各自的持久化,所以每台服务器至少需要两个pv(即两个挂载点)。可以使用mount --bind方式,将本地已经挂载的目录,重新挂载到/mnt/disks上
注意: 每台服务器,都要mount到/mnt/disks至少2个分区
for i in $(seq 1 3); do
sudo mkdir -p /data/tidb/vol${
i} /mnt